安装了ubuntu16 64位的系统,想在该环境下用gcc编译64位和32位的程序

默认已经安装了64位环境的gcc

1. 首先确认安装的环境是不是64位的

cocoa@cocoaUKlyn:~/Desktop$ dpkg --print-architecture

以下输出表示为64位的
amd64

2. 确认系统是否支持多架构环境

cocoa@cocoaUKlyn:~/Desktop$ dpkg --print-foreign-architectures

以下输出表示支持32位的架构
i386

如果不支持那么手动打开,如下

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get dist-upgrade

3. 安装支持32编译程序的gcc库

sudo apt-get install gcc-multilib g++-multilib

4. 编译一个测试程序 main.c如下

int main(int argc,char *argv[])
{
if(argc!=)
{
printf("please input one argv\n");
return ;
}
printf("argc=%d ,argv[1]=%s\n",argc,argv[]);
return ;
}

5. 分别编译出64位,32位的可执行程序,main64,main32

cocoa@cocoaUKlyn:~/Desktop$ gcc -o main32 -m32 main.c
cocoa@cocoaUKlyn:~/Desktop$ gcc -o main64 -m64 main.c

6. 使用file命令查看编译的程序架构,

cocoa@cocoaUKlyn:~/Desktop$ file main64
main64: ELF -bit LSB executable, x86-, version (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-.so., for GNU/Linux 2.6., BuildID[sha1]=f8573379cf22e444381d36eec08862e69a90ae4d, not stripped
cocoa@cocoaUKlyn:~/Desktop$ file main32
main32: ELF -bit LSB executable, Intel , version (SYSV), dynamically linked, interpreter /lib/ld-linux.so., for GNU/Linux 2.6., BuildID[sha1]=cbff7c2ddf45b505ffd1e60adce482c0cc896475, not stripped

7. 运行编译的64位,32位测试程序

cocoa@cocoaUKlyn:~/Desktop$ ./main64 this64
argc= ,argv[]=this64
cocoa@cocoaUKlyn:~/Desktop$ ./main32 this32
argc= ,argv[]=this32

参考:https://www.cnblogs.com/mliudong/p/4086797.html

ubuntu16 64位 编译64位程序和32位程序的更多相关文章

  1. Linux:使用rpcgen实现64位程序调用32位库函数

    摘要:本文介绍使用rpcgent实现64位程序调用32位库函数的方法,并给出样例代码. 我的问题 我的程序运行在64位Linux系统上,需要使用一个从外部获得的共享库中的函数,这个共享库是32位的,无 ...

  2. 解决windows server2003 64位操作系统上不能加载32位应用程序dll 的问题

    [FileLoadException: Could not load file or assembly 'sapnco_utils, Version=3.0.0.42, Culture=neutral ...

  3. openstack安装系列问题:window7 64位安装的virtualBox 只能选择32位的系统安装不能选择64位的系统安装

    个人原创,转载请注明作者,出处,否则依法追究法律责任 2017-10-03-12:22:22 现象:window7 64位安装的virtualBox 只能选择32位的系统安装不能选择64位的系统安装 ...

  4. win7 32位支持多大内存|win7 32位旗舰版最多能识别多少内存

    win7 32位支持多大内存|win7 32位旗舰版最多能识别多少内存 内存的大小决定系统运行速度,所以不少人认为只要内存加大就行了,其实这是不对的,因为win7 32位能支持的内存大小是有限制的,并 ...

  5. 关于oracle 11g 64位与 32位的 plsql、及其他32位应用程序共存的问题

    因为 plsql 不支持 64位 oracle 客户端,所以plsql 必须使用 oracle 的 32位 instanclient 包.  解压缩后放一个目录,例如: D:\Oracle\insta ...

  6. 查看Eclipse32位还是64位以及Eclipse的编译版本号,查看JDK是32位还是64位

    一.查看Eclipse是32位还是64位 首先进入到Eclipse的安装目录: 查找到文件名为"eclipse.ini" 文件,使用文本编辑工具,或记事本打开,如下图: 以上是查看 ...

  7. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed(在64位模式下运行安装了32位的Oracle客户端组件时,会发生此问题)

    部署win服务时出现下面的问题: 在事件查看器中看到如下错误: 日志名称: Application来源: ***调度服务日期: 2014/5/21 12:53:21事件 ID: 0任务类别: 无级别: ...

  8. 64位系统里的IIS运行32位ODP.NET的方法

    在64位Win7里的IIS里部署使用了ODP.NET的网站,Oracle的版本是11.20.3.20.直接部署会提示错误:在64位环境里使用了32位的程序.自己折腾了两天,最后才从别人的博客里找到解决 ...

  9. 64位win2008下IIS未开启32位支持导致DLL无法加载问题

    部署一个WEB项目,在本机.本地服务器都没有问题,但部署到远程服务器以后,提示有个DLL无法加载: Server Error in '/' Application. Could not load fi ...

随机推荐

  1. CSS 滤镜

    声明: web前端学习笔记,欢迎大神指点.联系QQ:1522025433. CSS样式表是一种为超文本标签语言提供增强补充服务的技术,可对每一个html的标签做精雕细刻的修饰.只用html制作的网页, ...

  2. python 全栈开发,Day22(封装,property,classmethod,staticmethod)

    一.封装 封装 : 广义上的 :把一堆东西装在一个容器里 狭义上的 :会对一种现象起一个专门属于它的名字 函数和属性装到了一个非全局的命名空间 —— 封装 隐藏对象的属性和实现细节,仅对外提供公共访问 ...

  3. 自己实现一个和PYTHON的库一模一样的sha_256算法

    同时在看一本书<从零开始-自己动手写区块链>, 这书讲得易懂,我也动手实践一下. 这个算法和python3本身的实现相同, 所以,同样的字串,摘要是相同的. import struct i ...

  4. ubuntu16.04LTS服务器,python2.7升级到3.6,且同时升级pip

    ubuntu这个服务器,默认是带了python2.7和python3.5版本的. 如果想升级到python3.6,怎么办? 我综合了网上的几个帖子,在几台服务器上测试了一下, 没什么大问题,作个记录. ...

  5. 如何删除jsPlumb连接

    I am playing with jsplumb, but I am not able to delete the connection between two divs having only t ...

  6. 第六章|网络编程-socket开发

    1.计算机基础 作为应用开发程序员,我们开发的软件都是应用软件,而应用软件必须运行于操作系统之上,操作系统则运行于硬件之上,应用软件是无法直接操作硬件的,应用软件对硬件的操作必须调用操作系统的接口,由 ...

  7. 阿里dubbo服务注册原理解析

           阿里分布式服务框架 dubbo现在已成为了外面很多中小型甚至一些大型互联网公司作为服务治理的一个首选或者考虑方案,相信大家在日常工作中或多或少都已经用过或者接触过dubbo了.但是我搜了 ...

  8. 基本功 | Litho的使用及原理剖析

    1. 什么是Litho? Litho是Facebook推出的一套高效构建Android UI的声明式框架,主要目的是提升RecyclerView复杂列表的滑动性能和降低内存占用.下面是Litho官网的 ...

  9. activate-power-mode 插件 安装 设置 IDEA

    作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com 可用 摇 shake 粒子 particle ...

  10. loj#2054. 「TJOI / HEOI2016」树

    题目链接 loj#2054. 「TJOI / HEOI2016」树 题解 每次标记覆盖整棵字数,子树维护对于标记深度取max dfs序+线段树维护一下 代码 #include<cstdio> ...