如何调用一个.c文件里的方法?


RT,最近在折腾着把一个UCGUI+SDL的程序编译到iOS设备上,遇到一个调用c文件方法出错的问题(好吧,我知道我表达渣,还是看图吧 LSDSIM.cLCDSDL.c
GUI_X_SDL.c

如上图,LSDSIM.c里面这个方法


 drawPoint(getSurface(), x, y,Index);

调用了LCDSDL.c的


 __inline int drawPoint(SDL_Surface * dst, int x, int y, int  color)
{
    return SDL_DrawPointB(dst, x, y, TransColors(color));
}

然后还调用了GUI X SDL.c的


 SDL_Surface* getSurface()
{
    return g_screen_surface;
}

然后报错Implicit declaration of function 'drawPoint' is invalid in C99 搜过网上说的一些说法是改Build Setting 的 C Language Dialect,然并卵,我觉得应该是找不到这些方法才会导致这样,求教要怎么调用.c里面的方法,或者有别的什么解决方法
ps:我C语言学的很烂,正准备恶补一番,大家有什么推荐看的书?

c ios

Liuxus 9 years, 6 months ago

书可以直接看K&R的《The C programming language》,这是因为没有声明,你需要加入那个.c对应的.h文件。如果没有对应的.h文件或者对应的.h文件里没有对应函数的声明的话,你也可以通过在调用前声明extern函数的方式来解决。不过最好还是声明在对应的.h里。

蓝色&幽灵 answered 9 years, 6 months ago

Your Answer