Объясняю суть проблемы: Я написал my.asm-файл, скомпилил его как библиотеку, получил my.lib. В my.asm была описана процедура myproc. Имеется также файл my.inc с прототипом myproc. Вопросы такие: 1.Как подключить my.lib к my_c.c, чтобы можно было использовать myproc в сишной проге? 2.Нужно ли в my.asm перед описанием myproc писать что-то вроде extrn "C"? Всем откликнувшимся заранее спасибо!
добавить в проект, или добавить в командную строку линкеру если программа компилится как С++, то в сишном сорце нужно добавить extern "C" или так #ifdef __cplusplus extern "C" { #endif unsigned long __stdcall crc32(unsigned char *, unsigned long); #ifdef __cplusplus } #endif
Спасибо за ответы! Попробую в командной строке прилепить. А *.inc-файл с прототипом функции вообще ни причём?
И ещё вопрос! А нет ли каких специфических тонкостей, если прога на си работает в режиме ядра (точнее она драйвер)?
sysh Догадайся сам. Если ассемблерная функция не расчитана на режим ядра (например, если в ней используются вызовы API), то драйвер накроется.