64位的Ubuntu系统上使用汇编nasm和C语言
$ nasm -f elf foo.asm -o foo.o
$ gcc -c bar.c -o bar.o
$ ld -s  foo.o bar.o -o foobar
ld: i386 architecture of input file `foo.o' is incompatible with i386:x86-64 output
意思是nasm 编译产生的是32位的目标代码,gcc 在64位平台上默认产生的是64位的目标代码,
这两者在链接的时候出错,gcc在64位平台上默认以64位的方式链接。
-------------------------------------------------------------------------------------------------------
方法:
让gcc 产生32位的代码,并在链接的时候以32位的方式进行链接
在这种情况下只需要修改编译和链接指令即可,具体如下:
32位的编译链接指令
$ nasm -f elf foo.asm -o foo.o
$ gcc -m32 -c bar.c -o bar.o
$ ld -m elf_i386 -s foo.o bar.o -o foobar
$ ./foobar 
  the 2nd one
参考地址:http://www.linuxidc.com/Linux/2012-12/75804.htm
64位的Ubuntu系统上使用汇编nasm和C语言的更多相关文章
- 阿里云64位centos6.3系统上编译安装redis
		
环境 系统:阿里云64位centos 6.3 [rao@AY~]$ cat /etc/issue CentOS release 6.3 (Final) Kernel \r on an \m [rao@ ...
 - 解决Vivado XSDK在Ubuntu系统上自带UART Terminal Crash问题
		
在Ubuntu 18.04 LTS系统上使用某些版本的Vivado XSDK的Eclipse IDE中自带的串口Terminal会有Crash的问题.Xilinx的XSDK的Terminal插件是用的 ...
 - 在64位Ubuntu系统上安装32位程序包
		
在64位Ubuntu系统上安装32位的程序包 $sudo apt-get install package_name:i386 例如: $sudo apt-get install openjdk-7-j ...
 - [转]Windows10中Virtualbox没办法选择和安装64位的Linux系统
		
本文转自:https://blog.csdn.net/strivenoend/article/details/78290325 明明在公司的WIN7系统中使用Virtualbox就可以安装64位的Ub ...
 - 64位win8.1系统 运行 32位程序,文件夹路径是中文遇到问题
		
今天有一位用户向我反应软件使用遇到问题. 用户使用的是64位win8.1系统,之前有很多用户使用64位的win8.1系统没遇到过问题. 远程协助了一下,差不多15分钟我试了几个办法没解决问题. 最后我 ...
 - 64位win2003/win2008系统IIS6.0/7.5配置PHP的方法
		
64位win2003/win2008系统IIS6.0/7.5配置PHP的方法 32位的win2003系统配置PHP,估计很多人都已经驾轻就熟了,不过当遇到64位的系统时,估计又会遇上新的问题了.本文记 ...
 - VMware虚拟机下如何安装一个64位的win7系统
		
原文地址:http://www.xitongcheng.com/jiaocheng/win7_article_21001.html VMware虚拟机软件可以在一台电脑上运行多个操作系统,一些网友想在 ...
 - 如何判断系统是32位还是64位的linux系统
		
如何判断系统是32位还是64位的linux系统 某日,需要下载个安装包,忽然忘记了自己的系统是32位还是64位的系统了,一时想不起来怎么查看时32位还是64位,呵呵,随便百度下,就发现有好多方法,这里 ...
 - 在Ubuntu系统上搭建Hadoop 2.x(2.6.2)
		
官方的中文版的Hadoop快速入门教程已经是很老的版本了,新版的Hadoop目录结构发生了变化,因此一些配置文件的位置也略微调整了,例如新版的hadoop中找不到快速入门中提到的conf目录,另外,网 ...
 
随机推荐
- 放养的小爬虫--京东定向爬虫(AJAX获取价格数据)
			
放养的小爬虫--京东定向爬虫(AJAX获取价格数据) 笔者声明:只用于学习交流,不用于其他途径.源代码已上传github.githu地址:https://github.com/Erma-Wang/Sp ...
 - SOA、ESB、NServiceBus、云计算 总结
			
SOA SOA 是通过功能组件化.服务化,来实现系统集成.解决信息孤岛,这是其主要目标.而更进一步则是实现更快响应业务的变化.更快推出新的应用系统.与此同时,SOA 还实现了整合资源,资源复用. SO ...
 - Nancy之Cache的简单使用
			
一.前言 说起缓存,或许大家都不陌生,甚至是天天都在用!当然缓存也被分的越来越细,页面缓存.数据缓存.文件缓存等等. 其实呢,我个人觉得,主要还是两大类:数据的缓存和页面的缓存.数据缓存的话就包括所有 ...
 - ASP.NET-Web项目运行缓慢-AjaxMin在搞鬼
			
AjaxMin 4.8版本是没问题,出现问题的时候是AjaxMin 5.3.xxxxx版本,起初我也不知道是AjaxMin出现问题一直以为是因为我大幅度修改Web项目架构,以及采用大量反射后所带来的后 ...
 - Dapper一个轻量级的ORM库
			
相关阅读 http://stackexchange.github.io/dapper-dot-net/ https://github.com/StackExchange/dapper-dot-net ...
 - Visual Studio 2013 Unit Test Project App.config文件设置方法
			
开放中经常会要做单元测试,新的项目又没有单元测试项目,怎么才能搭建一个单元测试项目呢? 下面跟我四步走,如有错误之处,还请指正! 1.添加项目 2.添加配置文件 新建app.config文件,注意不是 ...
 - 【JAVA并发编程实战】3、同步容器
			
同步容器包括Vector和Hashtable,还有一些由Collections.synchronizedXxx等工厂方法创建的 1.同步容器类的问题 同步容器类都是线程安全的,但是有些时候还是要客户端 ...
 - 第二十六章 hystrix-dashboard + turbine
			
一.使用turbine的意义 引入多个hystrix stream: 1.使用hystrix-dashboard的可以添加多个stream的功能 图中添加的两个stream会在真正monitor的时候 ...
 - EasyUI弹出窗口实例
			
效果体验:http://hovertree.com/texiao/jeasyui/1.htm 源代码下载:HovertreeJEasyUI HTML文件代码: <!DOCTYPE html> ...
 - CSS3——3D旋转图(跑马灯效果图)
			
CSS3新增了很多新的属性,可以用很少的代码实现炫酷的动画效果,但由于兼容性各浏览器的能力存在不足,有特别需求的网站就呵呵啦.H5C3已是大势所趋了,之前看过一个新闻,Chrome将在年底全面转向H5 ...