C++相談室 part161

レス数が950を超えています。1000を超えると書き込みができなくなります。
2022/05/21(土) 21:23:29.59ID:kYXfaM+5
前スレ
C++相談室 part160
https://mevius.5ch.net/test/read.cgi/tech/1649979572/
2022/10/26(水) 01:56:10.10ID:U/bwzoe1
>>976
>ごめん、tools/driver/driver.cppだった。321行目あたりにmainあるけどこれじゃないの?
そのサイトは、mirrorサイトで「legacy」とされ、だいぶ古いバージョンなんです。
最新バージョンのソースでは、driver.cpp には clang_main()しかないと思います。
cmakeすると、buildフォルダに、
int main(int argc, char *argv[]) { return clang_main(argc, argv); }
のような一行の関数が出来ます。
2022/10/26(水) 02:33:27.35ID:U/bwzoe1
>>978
(1) 本当の clang の main() 関数本体 :
(llvm-project-main/clang/tools/driver/driver.cpp):

int clang_main(int Argc, char **Argv) {
・・・
・・・
}

(2) clang_main() を呼び出す main() 関数 :
(llvm-project-main/build/tools/clang/tools/driver/clang-driver.cpp):

build は、cmake の destination ディレクトリです。


int clang_main(int argc, char **argv);

int main(int argc, char **argv) { return clang_main(argc, argv); }

↑本当にこんな風に一行の関数になっています。恐らく、cmake が
生成したものと思われます。
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。