Цитата:
насчет кода значения неимеет просто пример мне он более менее понятен...
я только хотел сказать, что граф.смайлы -- маздай и больше ничего...
насчет кода значения неимеет просто пример мне он более менее понятен...
нет, ты ошибаешься, -- всё-таки _количество байт_, передаваемых в функу...
если
#pragma comment(lib, "C:\\WinDDK\\2600\\lib\\wxp\\i386\\ndis.lib")
можно собрать чарез cl linktest.c без ndis.obj тотол командер правда показывает при этом что функции ndis нет в системе и файл получаеться 14кВ вместо 2 при первом варианте да и из kernel32 пытается кучу импорта получить...
поэтому вопрос задам глупый а что такого береться из библиотек?
При линковке asm функций в С программу следует учесть следующие моменты:
транслятор ассемблера по умолчанию переводит все имена в верхний регистр, myfunc станет MYFUNC;
компилятор С и линковщик могут различать или не различать символы верхнего и нижнего регистра, что собственно зависит от настроек;
компилятор С (не С++!) к имени функции добавляет подчеркивание в начале, вызываешь функцию func(), линковщик будет искать _func();
при вызове функции С/С++ программа размещает параметры в стеке и чистит стек после завершения функции, возвращаемое значение берется из регистра AX (EAX),
Объявлять функции в asm коде необходимо таким образом (чтоб можно было вызвать из С)
PUBLIC _MYFUNC
_MYFUNC PROC C FAR
где PUBLIC открывает доступ к функции из других модулей, подчеркивание перед _MYFUNC приводит имя к С виду, PROC C сообщает транслятору asm что твоя функция предназначена для вызова из С, FAR размещает функцию в отдельном сегменте данных, что позволяет получить доступ к функции если размер программы в памяти больше 64К (необходимо для больших моделей памяти)
Кроме этого в masm-е и tasm-е есть множество макросов предназначенных для работы с параметрами как в С.
Для вызова asm функции _MYFUNC из С потребуется:
создать прототип функции
extern far int MYFUNC();
включить поддержку линковщиком символов в верхнем регистре;
подключить obj или lib (если сделал) к проекту.
Вопрос, если первый Мегабайт отведен под BIOS? да еще и типа EPROM, то куда будет грузиться MS DOS ???
архитектуру и все возможности системы
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
Предыдущая тема: .NET GUI компоненты