Вопрос, конечно, не совсем по профилю форума, потому как не ассемблер, а Си... Захотелось мне в общем написать свой собственный монитор загруженности процессора. В Microsoft PlatformSDK есть функция NtQuerySystemInformation, которая по идее может мне выдать нужную информацию. В общем я написал небольшой кусочек кода чтобы проверить ее работоспособность, но компилер выдает сообщение "unresolved external symbol _NtQuerySystemInformation...". Если совсем подробно: Заголовочный файл, указанный в SDK, подключил. Вот, собственно, код: Код (Text): #include <winternl.h> main() { int SPPI = 8; // Код, определяющий что функция должна выдать информацию по производительности проца, подсмотрел в winternl.h int SI [10]; // Буфер, в который должна пойти структура данных int SIL = 10; // Размер буфера под структуру данных int I; // Переменная, в которую функция выдаст информацию о результате выполнения I = NtQuerySystemInformation(SPPI, SI, SIL); } Да, этот кусок кода не будет делать ничего полезного. Его написал только для того, чтобы проверить работоспособность функции - скомпилируется ли или выдаст тыщу ошибок.
надо бы ntdll.lib прилинковать, иначе действительно откуда знать линкеру чо такое NtQuerySystemInformation
Си очень даже по ппрофилю форума) Тебе нужно объявить функцию как _stdcall, а у тебя судя по манглингу она _cdecl.
Freeman Прописаны нужные пути к инклудам и либам DDK в vsvars32.bat. Great Это очень и очень радует) Я, конечно, пока еще нуб и все такое, но я думал что микрософтовские функции по _stdcall и вызываются. В любом случае, даже понятия не имею что мне нужно изменить, чтобы увериться что вызов идет по _stdcall...
Ага, в свойствах проекта (Configuration properties -> C/C++ -> Advanced -> Calling convention) есть выпадающий списочек даже
Freeman Задал ключ при компиляции, все то же самое: Vilco Я в блокноте пишу, компилирую в командной строке.