‘asm’ operand has impossible constraints
2016-03-04 01:38
387 查看
1 环境说明
Ubuntu14.04.2(64bit)+ gcc-4.8.2
2 问题描述
当在c中内联汇编时,出现如题错误。
3 可能原因1
将同一变量同时用于输出寄存器列表可返回值,会导致此错误,只要将其中之一去除就好。
4 可能原因2
将一个指定了寄存器的变量用于输出寄存器列表,会导致此错误,只要将其中之一去除就好。
Ubuntu14.04.2(64bit)+ gcc-4.8.2
2 问题描述
当在c中内联汇编时,出现如题错误。
3 可能原因1
将同一变量同时用于输出寄存器列表可返回值,会导致此错误,只要将其中之一去除就好。
int StrnCmp(const char *cs, const char *ct, int count) { register int __res; asm("" :"=a"(__res) // 输出寄存器列表 :"D"(cs), "S"(ct), "c"(count) :"si", "di", "cx"); return __res; // 返回 }
4 可能原因2
将一个指定了寄存器的变量用于输出寄存器列表,会导致此错误,只要将其中之一去除就好。
void StrnCmp(const char *cs, const char *ct, int count) { register int __res asm("ax"); // 指定__res使用寄存器eax asm("" :"=a"(__res) // 返回寄存器列表 :"D"(cs), "S"(ct), "c"(count) :"si", "di", "cx"); }
相关文章推荐
- DNS -- Domain Name System 简介
- WAI-ARIA roles
- ZBrush中的PaintStop插件该怎么灵活运用
- linker command failed with exit code 1 (use -v to see 错误总结
- PAT (Advanced Level) Practise 1014 Waiting in Line (30)
- computer repair services in Hangzhou
- Aidl与信使的区别
- 3 AMQP 0-9-1 Model Explained
- Socket连接时Input.available()报空指针错误
- 1086. Tree Traversals Again (25)
- POJ 3007 Organize Your Train part II map与字典树的比较
- 什么是信息增益(Information Gain)
- Unable to simultaneously satisfy constraints.
- HDOJ 1151 Air Raid(二分图最小路径覆盖)
- public static void main(String[] args)的理解
- HDOJ-2057(A + B Again)
- main函数的底层理解
- Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
- disconnected no supported authentication methods available(server sent: publickey,keyboard interae)
- 人工智能和机器学习方面的开源项目