andrew_programmer
Почему это в апострофах? Нужно передавать в кавычках.
Проблема оказалась в другом - почему-то cc1.exe при компиляции преобразует имена внешних функций из malloc в _malloc@4. С подчеркиванием я бороться научился, а вот что делать с @4 - не понятно. Из-за этого программа не линкуется
andrew_programmer
Если не обязательно использовать ANSI fopen() fread() то возьми код, который я приводил выше, запиши в файл k_file.asm скомпилируй ФАСМом. Файл линкуется при компиляции программы metcc.exe my_prog.c melibc.a k_file.o -o my_prog
Если качал исходники ядра то в папке /ac97 переписанный на Си плеер и k_lib.asm с оболочками для системных вызовов.
make.bat - пример компиляции из нескольких файлов.
O01eg
svn://kolibrios.org andrew_programmer
В mesys.h нужно удалить атрибут stdcall у процедур malloc, free, realloc.
Можешь все-таки выслать или выложить весь код - чтобы не устранять ошибки по одной. Serge
Я нашел в компиляторе огромную проблему - раньше неправильно компилился код
int x[10];
int main()
{
x[0]=0;//на выходе будет присвоение нулевому адресу :(
return 0;
}
Почему-то компилятор символам из BSS присваивает какой-то очень странный номер секции, из-за чего моя процедура линковки, не найдя такой секции, не применяла соотвествующий релокейшен. На данный момент я поставил, что если у символа очень странный номер секции, то он из BSS. Но с проблемой надо разбираться...