这篇博客总结了我自己遇到的编写C语言时遇到的错误和解决方法,以后遇到的问题也会添加上来。
1. undefined reference to 错误
今天编译源文件时, 出现undefined reference to 编译错误。 调用的函数没有定义。
经检查是因为新加的文件没有编译进去。
在android.mk 文件中
LOCAL_SRC_FILES:= \
加入新加的文件。编译通过。
2. Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 4966 (Thread-21)
这种一般是 内存操作错误。
比如以下情况,初始化一个字符串,由于没有给data_msg 分配内存。就会造成crash.
char* data_msg = NULL;
memset((void*) data_msg, 0, mem_size);
加上语句: data_msg = (char*)malloc(mem_size); 就可以了。
3. implicit declaration of function 错误
编译出现implicit declaration of function 错误......-Werror,-Wimplicit-function-declaration, 是因为调用的子函数还没有声明就进行了调用。
boolean first(int b, int c){
boolean d;
d=second(b);
return d;
}
boolean second(int m){
return trun;
}
这种问题方法是将second 函数放到 first 函数之前就可以了。