如何运行我从 clang++ test.cpp -S 获得的程序集?

How to run the assembly I got from clang++ test.cpp -S?

提问人:Sakura Adachi 提问时间:8/14/2021 最后编辑:Sakura Adachi 更新时间:8/17/2021 访问量:82

问:

所以我得到了一个 C++ 程序的汇编代码clang++ test.cpp -S

现在我有了 test.s,它是组件......现在如何在 Android (ARM) 中运行它?

我当时试过......但它在 ld 部分给了我一个错误......错误信息test.s -o test.old test.o -o test

C 程序集 clang linker-errors clang++

评论

1赞 Lala5th 8/14/2021
您必须链接到标准库。还有为什么要把它变成汇编然后手动链接,你不能一直编译它吗?c++clang++
1赞 Peter Cordes 8/14/2021
简单的方法是组装它,并将其与正确的库链接。用于显示前端命令传递给了哪些参数。clang++ test.sclang++ -v test.sldclang++
2赞 fuz 8/14/2021
请不要发布文字图片!编辑您的问题,以文本而不是图片的形式包含错误消息。
0赞 Sakura Adachi 8/14/2021
@PeterCordes我不想使用 clang++ 命令......所以我做了 clang++ -v test.s 来查看参数或其他东西......我真的不明白......args 在双引号部分内吗?你能告诉我哪一部分是 args 吗,我到底要写什么?就像那时......这是方式还是不同的东西?as test.s -o test.old test.o args_here -o test

答:

1赞 Sakura Adachi 8/17/2021 #1

clang++ -v test.cpp以查看它传递给 ld 的参数。 然后复制粘贴它起作用了,谢谢ld args -o test