Форум программистов, компьютерный форум CyberForum.ru

Оптимизация кода "dll" - C++

Восстановить пароль Регистрация
 
Dimmak
 Аватар для Dimmak
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 170
21.06.2014, 20:17     Оптимизация кода "dll" #1
В длл есть функция( testFunc ) в которую передается указатель на массив( ptrAry ). Из этой функции( testFunc ) вызывается функция( _func ) уже для изменения массива ptrAry. Как сделать pAry глобальной переменной для того чтобы не "перебрасывать" указатель на этот массив из одной функции в другую?
C++
1
2
3
4
5
6
7
8
9
10
void _func( float *pTemp ) { 
// изменение массива pAry
}
 
__declspec(dllexport) int __cdecl testFunc( ptrAry )
float* pAry= (float *)ptrAry ;
_func( pAry )
 
return 0 ; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2014, 20:17     Оптимизация кода "dll"
Посмотрите здесь:

C++ "cin","cout" на "printf","scanf"
"Перепрыгивание" компилятора к части кода после выхода из функции C++
Создайте вектор, хранящий десять строковых значений "zero", "one", ..., "nine" C++
Есть ли в Windows какой-нибудь стандартный "загрузчик dll"? C++
C++ Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщений "Да", "Нет", "На
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
21.06.2014, 20:32     Оптимизация кода "dll" #2
Цитата Сообщение от Dimmak Посмотреть сообщение
Как сделать pAry глобальной переменной для того чтобы не "перебрасывать" указатель на этот массив из одной функции в другую?
Правильный вариант - "перебрасывать". Глобальные переменные - зло.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
21.06.2014, 20:39     Оптимизация кода "dll" #3
Что-то я не пойму, зачем 6 строка, и почему в 5ой нет типа аргумента.
Dimmak
 Аватар для Dimmak
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 170
21.06.2014, 21:19  [ТС]     Оптимизация кода "dll" #4
Цитата Сообщение от Tulosba Посмотреть сообщение
Что-то я не пойму, зачем 6 строка, и почему в 5ой нет типа аргумента.
5я строка исправил:
C++
1
__declspec(dllexport) int __cdecl testFunc( int ptrAry )
Цитата Сообщение от uglyPinokkio Посмотреть сообщение
Правильный вариант - "перебрасывать". Глобальные переменные - зло.
Те если функций будет не две а четыре, то правильно будет столько же раз "перебрасывать" из функции в функцию?
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
21.06.2014, 21:25     Оптимизация кода "dll" #5
Цитата Сообщение от Dimmak Посмотреть сообщение
Те если функций будет не две а четыре, то правильно будет столько же раз "перебрасывать" из функции в функцию?
Указатель - это одно целое число. Накладные расходы на его передачу по сравнению с вызовом функции пренебрежимо малы. Да, столько же раз перебрасывать. Оптимизацией нужно заморачиваться, когда для этого есть основания - производительность не устраивает.
Yandex
Объявления
21.06.2014, 21:25     Оптимизация кода "dll"
Ответ Создать тему
Опции темы

Текущее время: 16:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru