linux之so文件、a文件、o文件的区别

1、o文件

o 就相当于windows里的obj文件 ,一个.c或.cpp文件对应一个.o文件
.o 文件是源码编译出的二进制文件。

你先得了解从源代码到可执行文件的过程。以一个简单的add函数源文件为例。


int add(int a,int b)
{return a+b;
}

先预处理为.i文件
gcc -E add.c -o add.i
再编译为汇编文件
gcc -S add.i -o add.s
再汇编为二进制的.o文件
gcc -c add.s -o add.o

好,现在.o文件出来了。它就是C/C++编译的产物,因为C/C++编译的单元编译。每一个.c/.cpp文件就是一个编译单元,把所有单元都编译好之后,再连接成一个完成的程序。

 

 


2、a文件

.a文件实质上就是.o文件打了个包。一般把它叫做

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【F大说】Flash的那些坑

转载自F大的自言自语←_←创建控件类时,基类不能用源码创建控件类时,基类要以swc方式提供(不能用源码),否则控件中所包含的子元件实例名将被添加到基类,而不是控件类中去。调用gotoAndStop会导致帧代码插队…

iNeuOS工业互联网操作系统,顺利从NetCore3.1升级到Net6的过程汇报,发布3.7版本...

目 录1..... 概述... 12..... 升级的工程... 33..... 升级的代码差异... 44..... 系统运行... 51. 概述我们团队一直在工业领域从事实时系统和业务系统的开发与集成工作,开发语言使用过C51/C/VB/VC/C#(Net Framework)/C#(Netcore3.1)/C#(NET6)。前几天微软发…

软件设计和设计的问题

先感概一句, 软件设计是一个不太容易的事情,尤其历史需要兼容新需求的问题。 软件设计 软件设计包括很多,软件架构,软件结构,数据库设计。 软件不是从0开始的,一般都会有一些支撑组件,尤其现在的web程序&am…

郑州升达经贸管理学院计算机科学与技术,郑州升达经贸管理学院计算机科学与技术专业2016年在福建理科高考录取最低分数线...

类似问题答案郑州升达经贸管理学院计算机科学与技术专业2016年在吉林理科高考录取最低分数线学校 地 区 专业 年份 批次 类型 分数 郑州升达经贸管理学院 吉林 计算机科学与技术 2016 二批 理科 336 学校 地 区 专业 年份 批次 类型 分数 郑州升达经贸管理学院 吉林 计算机科学…

Android之INSTALL_FAILED_UPDATE_INCOMPATIBLE(pacakge:...do not match the previously installed version)

1、问题: adb install -r ***.apk 出现下面错误 INSTALL_FAILED_UPDATE_INCOMPATIBLE(pacakge:...do not match the previously installed version;ignoring) 2、解决办法: 用ApkHelp工具,检验这2g个apk,发现签名不一样&#…

0714M

/*************************************************************************> File Name: code/2015summer/0714/M.cpp> Author: 111qqz> Email: rkz2013126.com > Created tim: 2015年07月14日 星期二 11时37分51秒******************************************…

鲜为人知的编程真相

2019独角兽企业重金招聘Python工程师标准>>> 当程序员的经历让我知道了一些关于软件编程的事情。下面的这些事情可能会让朋友们对软件开发感到惊讶: 一个程序员用在写程序上的时间大概占他的工作时间的10-20%,大部分的程序员每天大约能写出10…

如何理解 ListT和 DictionaryK,V 的扩容机制 ?

咨询区 Royi Namir为什么 List 是按照 2倍 扩容。private void EnsureCapacity(int min) {if (this._items.Length < min){int num (this._items.Length 0) ? 4 : (this._items.Length * 2);if (num < min){num min;}this.Capacity num;} }而 Dictionary<K,V>…

Android stduio之Plugin with id ‘com.android.application‘ not found解决办法

1、错误 Plugin with id com.android.application not found 2、解决办法 打开项目的build.gradle&#xff0c;看是否有buildscript&#xff5b;&#xff5d;&#xff0c;如果没有&#xff0c;加上 buildscript {repositories {mavenCentral() // or jcenter()}dependenc…

专科学会计还是计算机应用技术好,专科毕业想要学习会计专业,我专科是学计算机应用,但是毕业后家里让我学会计这门专业,具体是该怎么办呢...

技校网专门为您推荐的类似问题答案问题1&#xff1a;福建自考会计学需要考哪些专业,我是计算机专科毕业的020204 会计 (独立本科段) -http://www.fjzk.com.cn/portal/html/193/20081202000018.html--------------------------------------------------------------------------…

Android Studio之package org.junit does not exist解决办法

1、问题 运行Android studio出现下面错误 D:\*******\ExampleUnitTest.java Error:(3, 17) error: package org.junit does not exist Error:(5, 24) error: package org.junit does not exist Error:(11, 6) error: cannot find symbol class Test Error:(13, 9) error: cann…

2. 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml

1. 前言入门篇我们已经成功运行hello.benchmarks.yml并输出测试结果&#xff0c;本篇我们就hello.benchmarks.yml、以及运行的shell脚本详细解读下其中的含义2. 剖析hello.benchmarks.yml2.1. job在hello.benchmarks.yml中我们定义了一个新的job: server&#xff0c;并指定了仓…

计算机应用问题,计算机应用的现状与发展的问题

计算机应用的现状与发展的问题来源&#xff1a;职称阁时间&#xff1a;2018-07-27 11:59热度&#xff1a;这篇论文主要介绍的是计算机应用的现状与发展的问题的相关内容&#xff0c;本文作者就是通过对计算机的应用现状等内容做出详细的阐述与介绍&#xff0c;特推荐这篇优秀的…

GoLang学习笔记——data_type

Go语言里面&#xff0c;每个变量也都是有类别的&#xff0c;这种类别叫做数据类型(Data Type)。 Go的数据类型有两种&#xff1a;一种是语言内置的数据类型&#xff0c;另外一种是通过语言提供的自定义数据类型方法自己定义的自定义数据类型。 数值型(Number) 数值型有三种&…

(2)从实际项目谈起,基于MEF的插件框架之总体设计

文章版权由作者李晓晖和博客园共有&#xff0c;若转载请于明显处标明出处&#xff1a;http://www.cnblogs.com/naaoveGIS/。 1.MEF框架简介 MEF的全称是Managed Extensibility Framework&#xff08;MEF&#xff09;&#xff0c;其是.net4.0的组成部分&#xff0c;在3.5上也可以…

Object-C 类,对象,运行时,isa

今天记录一下它的底层运作。 1&#xff1a; 类Class&#xff1a; typedef struct objc_class * Class; 从Class的定义可以看出&#xff0c;它是一个 objc_class 结构类型的指针&#xff0c;objc_class又是什么呢&#xff1f; struct objc_class{struct objc…

Avalonia跨平台入门第四篇之Popup在uos下问题

上一篇简单玩耍了Popup,这不正当我洋洋自得的时候前线传来战报:你家伙做的效果在UOS下面有问题;然后直接发来一张捷报:明明在乌班图和优麒麟都没啥问题,单单就你这个UOS牛,结果发现个神奇的特效:开启神奇的特效,果然神奇:来看看最终实现的效果:最终简单的效果先这样吧;以后有时…

C++之用std::nothrow分配内存失败不抛异常

1、std::nothrow介绍 1&#xff09;.malloc分配时&#xff0c;如果内存耗尽分配不出来&#xff0c;会直接返回NULL&#xff1b; 2.&#xff09;早期C版本&#xff0c;new分配时&#xff0c;如果内存耗尽分配不出来&#xff0c;也会直接返回NULL&#xff1b; 我们可以使用关键…

linux 安装apache http server

参考http://blog.csdn.net/sundenskyqq/article/details/24733923 但这篇博文有些东西有错。 参考http://www.cnblogs.com/zhuque/archive/2012/11/03/2763352.html 部分内容 步骤&#xff1a; 1、 下载apr、apr-util、pcre、Apache httpserver 地址如下&#xff1a; apr/ apr…

理科都要学大学计算机吗,女生不适合学理科专业?报考这些理科专业,一毕业就会遭到疯抢!...

男学理&#xff0c;女学文&#xff0c;似乎一直以来都是考生们报考专业时所“遵循”的一个主流&#xff0c;因为无论是专业学习知识理论的侧重点&#xff0c;还是未来就业的偏向性&#xff0c;文理科专业都呈现出非常大的差异。女生们或许更适合文科类专业的学习和就业&#xf…