我有一个小问题,如下所示。
我从下面的代码创建了一个共享库。
帮助.h
#include<iostream>
#include<signal.h>
#include<unistd.h>
using namespace std;
void killMe(int sig_num);
void printMe(void);
帮助.cpp
#include<iostream>
#include<signal.h>
#include<unistd.h>
using namespace std;
void killMe(int sig_num)
{
cout<<"Timeout occurred."<<endl;
raise(SIGKILL);
}
void printMe()
{
cout<<"This is help.cpp"<<endl;
}
[root@localhost DL]# nm -n /usr/local/lib/libmyhelp.so | grep " T "
00000584 T _init
00000760 T _Z6killMei
000007ae T _Z7printMev
00000864 T _fini
[root@localhost DL]#
检查 nm 的输出,我看到 killMe 和 printMe 函数的名称已经改变了一点。有没有办法在共享库中保留与 cpp 代码中相同的名称?谢谢。