В масме не силен, поэтому прошу совета у коллективного разума ) Существует простой проект в VS2010 из двух файлов: 1) test.cpp и 2) test.asm Необходимые настройки для включения asm'овских файлов сделаны. Вот собственно код: test.cpp Код (Text): #include "stdafx.h" //extern VOID ShowMessageBox();???? int _tmain(int argc, _TCHAR* argv[]) { ShowMessageBox(); return 0; } и test.asm Код (Text): .586 .model flat, stdcall option casemap :none include <include\windows.inc> include <include\kernel32.inc> includelib <lib\kernel32.lib> include <include\user32.inc> includelib <lib\user32.lib> .data sometext db "lalalala", 0 .code PUBLIC ShowMessageBox_start PUBLIC ShowMessageBox_end ShowMessageBox_start:: ShowMessageBox proc invoke MessageBoxA, 0, ADDR sometext,ADDR sometext, MB_OK ShowMessageBox_end:: ShowMessageBox endp END Каким образом из c(c++) кода в рамках отдельного проекта можно вызвать функцию из асм-файла (в данному случае ShowMessageBox())?
Шайтан, однако )) Заработало вот так: Код (Text): extern "C" {VOID __stdcall ShowMessageBox();} shchetinin, besten dank А как в таком случае (да и можно ли вообще) вызывать макросы из асм-файла?
steelfactor Нет макросы нельзя , они работают на уровне компиляции , а связывать можно только на уровне линкера . вот такая вот печалька.