Есть функция: DWORD SomeFunc () { DWORD x1, x2, x3...; return 0; }; Можно ли как-то сделать, чтобы размер переменных просчитывался автоматом? Т.к. число переменных в ходе дальнейшей разработки будет варьироваться и каждый раз пересчитывать размер вручную не удобно заранее благодарен
Общий размер, что ли? Можно, но через задницу, с ассемблерными вставками (опираться на размер, выделенный в стеке под локальные переменные). Причём конкретная реализация зависит от компилятора. ИМХО, лучше массивом воспользоваться.
SII массивом воспользоваться Если предположить, что тип переменных может быть разным, то логичнее использовать структуру, и не забывать о #pragma pack.
q_q Ну, в примере одни дворды были, поэтому я предположил, что тип элементов одинаковый. А если нет -- то, конечно, структуру
тут исчо такой прекол, что если делать просто кучу переменных, то не под каждую возможно будет выделена память, некоторые могут хранится в регистрах
Freeman Или компилятор может увидеть, что некоторые переменные используются только в начале функции, а другие -- только в конце, и выделить под них общее место в стеке. Потому и говорю: это зависит от компилятора, поэтому общего решения у задачи и нет.