我可以将 asm 函数与 c - 字符串变量而不是字符串文字作为参数一起使用吗? [复制]
Posted
技术标签:
【中文标题】我可以将 asm 函数与 c - 字符串变量而不是字符串文字作为参数一起使用吗? [复制]【英文标题】:Can I use asm function with a c - string variable instead of a string literal as an argument? [duplicate] 【发布时间】:2011-09-28 10:28:35 【问题描述】:我做了这样的事情:
char command [] = "一些汇编代码";
asm volatile(命令);
它没有工作。具体来说,我收到以下错误:
Expected string literal before command.
那么,我只能将字符串文字与 C 内联汇编一起使用吗?我真的希望能够使用像上面这样的字符串变量。我怎样才能达到这个效果?
【问题讨论】:
将文本写入文件并system()
带有该文件的汇编程序。
也相关:C/C++ inline assembler with instructions in string variables 用于同一问题的 MSVC 语法版本(具有相同的答案)
【参考方案1】:
据我所知,asm 代码片段是在编译阶段而不是运行时内联的。这意味着你不能做你正在做的事情。
按照pmg的建议,您可以通过调用外部命令来完成,但这意味着用户需要安装所有工具。
【讨论】:
以上是关于我可以将 asm 函数与 c - 字符串变量而不是字符串文字作为参数一起使用吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
x64 asm如何将函数指针设置为_cdecl C函数并调用它?