ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
11 июля
365118 Топик полностью
VVB (30.10.2012 13:47, просмотров: 407) ответил fk0 на Чего какое? Обычно заменяются open, close, read/write а-ля юникс. Так же и тут. В GNU libc можно ещё на уровне библиотеки перенаправить, но это отдельная история. Таки начинаю понимать, почему профессионалы не используют printf и C-библиотеку --
Сделал как тут описано http://www.keil.co …IB/armlib_Chdchggb.htm то есть вставил в один из своих исходников все эти функции. Мой код: #include <rt_sys.h> #include <stdio.h> void main(void) { FILE *f; f = fopen("1","R"); } получил linking... .\Obj\UDP.axf: Error: L6200E: Symbol _sys_open multiply defined (by sys_io.o and http_freertos.o). .\Obj\UDP.axf: Error: L6200E: Symbol _sys_close multiply defined (by sys_io.o and http_freertos.o). .\Obj\UDP.axf: Error: L6200E: Symbol _sys_write multiply defined (by sys_io.o and http_freertos.o). .\Obj\UDP.axf: Error: L6200E: Symbol _sys_read multiply defined (by sys_io.o and http_freertos.o). .\Obj\UDP.axf: Error: L6200E: Symbol _sys_istty multiply defined (by sys_io.o and http_freertos.o). .\Obj\UDP.axf: Error: L6200E: Symbol _sys_seek multiply defined (by sys_io.o and http_freertos.o). .\Obj\UDP.axf: Error: L6200E: Symbol _sys_flen multiply defined (by sys_io.o and http_freertos.o). Target not created причём файла sys_io.o не существует, и определить, какая именно .lib библиотека подключается -- сложно. Благо у меня винда под виртуалкой живёт, я могу inotifytools рекурсивно натравить на каталог с кейловскими библиотеками (они на расшаренном ресурсе). Также обращаю внимание, что printf в кейл вызывает совершенно другие внутренние функции в отличие от GCC. Для GCC вопросов я не имею, там всё понятно.