首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
linux中[gcc -shared -fPIC]的含义
】的更多相关文章
linux中[gcc -shared -fPIC]的含义
linux在gcc编译时加上 -shared 参数时,目的是使源码编译成动态库 .so 文件: 而-fPIC的作用是 告知编译器 生成位置无关代码(编译产生的代码没有绝对位置,只有相对位置):从而可以在任意地方调用生成的动态库. 示例: gcc fun.c -shared - fPIC -o libfun.so 如果代码没有错误,则可以在当前路径下生成libfunc.so文件: 此时此动态库还不能被正确的链接上,因为系统寻找链接库的路径不包含当前路径:需要将此so文件放到搜寻路径中,或者添加寻找…
Linux中shell变量$0,$?等含义
linux中shell变量$#,$@,$0,$1,$2的基本含义: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表.如"$*"用「"」括起来的情况.以"$1 $2 … $n"的形式输出所有参数. $@ 所有参数列表.如"$@"用「"」括起来的情况.以&quo…
Linux中一些目录名称的含义
挖Linux中的古老缩略语[2005-06-22 15:23][Nigel McFarlane][TechTarget] Unix已经有35年历史了.许多人认为它开始于中世纪,这个中世纪是相对于计算机技术的产生和发展来说的.在过去的时间里,Unix和它的子分支Linux收集有许多的历史和一些完全古老的语言.在这篇技巧文章中,我们将介绍一少部分古老的语言和它们的目的和作用,以及它们真正的来源. RC 在Linux中,最为常用的缩略语也许是“rc”,它是“runcomm”的缩写――即名词“run c…
Linux中gcc编译器的用法
在Linux环境下进行开发,gcc是非常重要的编译工具,所以学习gcc的基本常见用法时非常有必要的. 一.首先我们先说明下gcc编译源文件的后缀名类型 .c为后缀的文件,C语言源代码文件: .a为后缀的文件,是由目标文件构成的档案库文件: .C,.cc或.cxx 为后缀的文件,是C++源代码文件: .h为后缀的文件,是程序所包含的头文件: .i 为后缀的文件,是已经预处理过的C源代码文件: .ii为后缀的文件,是已经预处理过的C++源代码文件: .m为后缀的文件,是Objective…
[转] Linux中gcc,g++常用编译选项
http://blog.sina.com.cn/s/blog_5ff2a8a201011ro8.html gcc/g++ 在执行编译时,需要4步 1.预处理,生成.i的文件[使用-E参数] 2.将预处理后的文件不转换成汇编语言,生成文件.s[使用-S参数] 3.有汇编变为目标代码(机器代码)生成.o的文件[使用-c参数] 4.连接目标代码,生成可执行程序[使用-o参数] -x language filename 设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定,C语言的后缀名…
Linux中gcc和g++
今天在Linux上编写一个小的C++程序运行,需要用到iostream中cout,一开始创建一个hello.c的文件编写如下代码: #include<stdio.h> #include<sys/types.h> #include<unistd.h> #include<iostream> using namespace std; int main() { int i; ;i<;i++) { fork(); //printf("H");…
linux中的特殊符号及其含义梳理
1. 重定向符号及含义 注意:箭头流向即是数据的流向. 数字0:标准输入(standard input,简写stdin),数据从右往左方向流动 数字1:标准正确输出(standard output,简写stdout),数据从左往右流动 数字2:标准错误输出(standard error output,简写stderr),数据从左往右流动 > 或 1> 把正确的进行输出(标准输出),覆盖 >> 或 1>> 把正确的进行输出(标准输出),追加 2> 把错误的进…
第十九章 Linux中常用字符的特殊含义
一.引入 在Linux Shell中有很多的特殊符号,要知道这些特殊符号的用法,这些符号用好了可以达到事半功倍的效果. 二.常用符号 # ; ;; . , / \ 'string'| ! {} ? $$* "string"* ** ? : ^ #@ ``{} [] [[]] () (()) || && {xx,yy,zz,...}~ ~+ ~- & <...> + - %= == != 三.特殊含义 (1)# 常出现在命令之前,或者命令之后,后面是注…
Linux中gcc与g++编译器的区别
一.对于C文件 对于C文件gcc和g++所做的事情确实是一样的,g++在编译C文件时调用了gcc. 二.对于C++文件 1.预处理 预处理gcc与g++做了相同的事. 2.编译 gcc无法自动和c++的库文件进行连接. g++去可以通过编译并且生成汇编文件. 3.汇编 gcc和g++在这个过程中做了同样的事情. 4.链接 g++能够链接成功,gcc不能连接成功. gcc对cpp文件执行编译和链接会报错,因为cpp和c文件中库文件的命名方式不同. g++既可以编译C又可以编译C++,g++默认编译…
linux 中gcc的·安装、编译过程
一.安装gcc编译器 通过命令gcc -v查看当前的GCC版本 [root@localhost /]# gcc -v Reading specs from /usr/i386-glibc-2.1-linux/lib/gcc-lib/i386-glibc21-linux/egcs-2.91.66/specs gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release) 当出现如下问题: Command 'gcc' not found, b…