soap_new什麼模樣

soap_new什麼模樣

#include <stdio.h>

#define soap_versioning_paste(name, ext) name##_REQUIRE_lib_v##ext
#define soap_versioning_ext(name, ext) soap_versioning_paste(name, ext)
#define soap_versioning(name) soap_versioning_ext(name, 20822)

#define soap_new() soap_new1(1)
#define soap_new1(mode) soap_new2(mode, mode)
#define soap_new2(imode, omode) soap_versioning(soap_new)(imode, omode)

void soap_versioning(soap_new)(int imode, int omode)
{
        printf("aaaa\n");
}

int main()
{
        soap_new(); // output result: aaaa
        return 0;
}
#c
$ nm -A a.exe | grep soap
a.exe:004011a0 T _soap_new_REQUIRE_lib_v20822

#c++
$ g++ soap_new.c
$ nm -A a.exe | grep soap
a.exe:004011a0 T __Z27soap_new_REQUIRE_lib_v20822ii
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章