我想拥有的是这样的:
./ client.out:functionC.c:78:错误blabla< ---这是我的问题
./ client.out:client.c:98:错误blabla
以下是我的示例函数
/* client.c */
int main(int argc, char *argv[]) {
if(functionCalled() == -1){
fprintf(stderr, "%s:%s:%d: Error blabla\n", argv[0], __FILE__, __LINE__);
}
return 0;
}
/* functionC.c */
int functionCalled(){
fprintf(stderr, "%s:%s:%d: Error blabla\n", ?????, __FILE__, __LINE__);
return -1;
}
显然,我无法通过参数发送main.c
名称。你认为有可能获得调用该功能的母程序吗?我有一个客户端和一个服务器调用相同的功能,但如果出现错误,我需要知道哪个程序(客户端或服务器)崩溃。
答案:
使用:functionC.c中的extern char *progName;
和client.c中的char *progName;