| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1790 人关注过本帖
标题:C中直接嵌套汇编的方式(不同编译器直接的差异)
只看楼主 加入收藏
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
收藏
 问题点数:0 回复次数:6 
C中直接嵌套汇编的方式(不同编译器直接的差异)
C中直接嵌套汇编的方式(不同编译器直接的差异)

#include <stdio.h>

int input,result;

int main()
{
    result= 0;
    input = 1;
    __asm__
    __volatile__ ("addl %1,%0":"=r"(result): "r"(input));

    printf("%d\t%d\n",input,result);
    return 0;
}
上面的代码在cfree 下通过了
但是在 dev-c++ 下编译通过而不能执行,原因是没有提供主程序
需要自己设置执行参数
VC++ 下则更是无法通过编译,莫名其妙
搜索更多相关主题的帖子: 编译器 区别 汇编 嵌套 
2007-11-22 23:00
GNUREN
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2007-10-3
收藏
得分:0 
封装gcc 的应该都可以
vc格式不一样
他玩intel汇编
gcc    dev-c++   cfree  等应该可以
该代码AT&A格式
dev-c++这个我试了,可以,不过结果变为 1 2
我不得其解

问君何能尔,心远地自偏。 采菊东篱下,悠然见南山。
2007-11-23 18:07
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
:( 这个是什么汇编啊,我怎么看不懂.....

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-23 19:50
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
我在 cfree 下通过了,但是结果是 1  1
dev-c++ 下编译通过,但还是不能执行!
不知道您安装程序后对于 dev-c++增加了什么设置没有 ?
2007-11-23 22:06
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
收藏
得分:0 
不同编译器对代码的规范有不同的要求,当然结果会有不同了,有很多程序在不同编译器下得出的结果都不同,我也常遇到!

c-free出来的结果是:  1       1
DEV-cpp出来的是:   1     2
gcc 出来的也是:   1      2

VC下出错了,不能运行
2007-11-25 10:11
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
楼主讲解下

—>〉Sun〈<—
2007-11-25 10:31
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
回复 5# 的帖子
不是 result= 0;
    input = 1;
吗?怎么一个也不对?
2007-11-25 10:53
快速回复:C中直接嵌套汇编的方式(不同编译器直接的差异)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026068 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved