在安卓平台上安装 GCC 的方法?

在安卓平台上安装 GCC 的方法?,第1张

android上安装GCC的步骤:

1、准备文件:Terminal IDE.apk和GCC源文件。

2、解压整个ZIP文件,并先将Terminal.apk文件安装至手机中,然后把GCC整个文件一起放置到data/data/com.spartacusrex.spartacuside/files/system中。

3、修改data/data/com.spartacusrex.spartacuside/files/目录下的.bashrc文件,添加以下代码:

export CPLUS_INCLUDE_PATH=$IDESYSTEM/gcc/arm-linux-androideabi/c++/include:$CPLUS_INCLUDE_PATH                                                      

export C_INCLUDE_PATH=$IDESYSTEM/gcc/arm-linux-androideabi/include:$C_INCLUDE_PATH                                                                      

export PATH=$IDESYSTEM/gcc/bin:$PATH

4、将gcc/bin下的文件改一下名,arm-linux-androideabi-g++改为g++,arm-linux-androideabi-gcc则改为gcc。

5、完成后重启IDE即可使用GCC。

gcc(GNU编译器套件):

GNU编译器套件(GNU Compiler Collection)包括C、C++、Objective-C、Fortran、Java、Ada和Go语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。GCC的初衷是为GNU *** 作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,“自由”的含义是它尊重用户的自由。

创作背景:

GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。GCC原本作为GNU *** 作系统的官方编译器,现已被大多数类Unix *** 作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。[2]  GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布。

GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理C++。后来又扩展能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)。

gcc指定头文件路径及动态链接库路径

本文详细介绍了Linux 下gcc头文件指定方法,以及搜索路径顺序的问题。另外,还总结了,gcc动态链接的方法以及路径指定,同样也讨论了搜索路径的顺序问题。本文包含了很多的例子,具有很强的 *** 作性,希望读者自己去走一遍。

一.#include <>与#include “”

#include <>直接到系统指定的某些目录中去找某些头文件。

#include “”先到源文件所在文件夹去找,然后再到系统指定的某些目录中去找某些头文件。

二.gcc指定头文件的三种情况:

1.会在默认情况下指定到/usr/include文件夹(更深层次的是一个相对路径,gcc可执行程序的路径是/usr/bin/gcc,那么它在实际工作时指定头文件头径是一种相对路径方法,换算成绝对路径就是加上/usr/include,如#include 就是包含/usr/include/stdio.h)

2.GCC还使用了-I指定路径的方式,即

gcc -I 头文件所在文件夹(绝对路径或相对路径均可) 源文件

举一个例子:

设当前路径为/root/test,其结构如下:

include_test.c

include/include_test.h

有两种方法访问到include_test.h。

1. include_test.c中#include “include/include_test.h”然后gcc include_test.c即可

2. include_test.c中#include 或者#include 然后gcc –I include include_test.c也可

3. 参数:-nostdinc使编译器不再系统缺省的头文件目录里面找头文件,一般和-I联合使用,明确限定头文件的位置。

在编译驱动模块时,由于非凡的需求必须强制GCC不搜索系统默认路径,也就是不搜索/usr/include要用参数-nostdinc,还要自己用-I参数来指定内核头文件路径,这个时候必须在Makefile中指定。

头文件搜索顺序:

1.由参数-I指定的路径(指定路径有多个路径时,按指定路径的顺序搜索)

2.然后找gcc的环境变量 C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJC_INCLUDE_PATH

3.再找内定目录

/usr/include

/usr/local/include

/usr/lib/gcc-lib/i386-linux/2.95.2/include

/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../include/g++-3

/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../i386-linux/include

库文件,但是如果装gcc的时候,是有给定的prefix的话,那么就是

/usr/include

prefix/include

prefix/xxx-xxx-xxx-gnulibc/include

prefix/lib/gcc-lib/xxxx-xxx-xxx-gnulibc/2.8.1/include

三.Linux指定动态库路径

众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库, 并且该动态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函 数,以及该动态库的其它资源了。在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下三种方法来指定。

1.在配置文件/etc/ld.so.conf中指定动态库搜索路径。

可以通过编辑配置文件/etc/ld.so.conf来指定动态库的搜索路径,该文件中每行为一个动态库搜索路径。每次编辑完该文件后,都必须运行命令ldconfig使修改后的配置生效。

举一个例子:

所有源文件:

源文件1: lib_test.c

#include

void prt()

{

printf(“You found me!!!/n”)

}

源文件2: main.c

void prt()

int main()

{

prt()

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11461519.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存