导航:首页 > 源码编译 > gcc编译apk

gcc编译apk

发布时间:2024-02-06 08:21:11

① 什么是GCCGCC有什么作用

GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。

GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。GCC是自由软件过程发展中的着名例子,由自由软件基金会以GPL协议发布。

GCC功能与作用:

1、预处理

命令gcc首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。

2、编译

用GCC编译C/C++代码时,它会试着用最少的时间完成编译并且编译后的代码易于调试。易于调试意味着编译后的代码与源代码有同样的执行顺序,编译后的代码没有经过优化。

3、连接

当所有的目标文件都生成之后,gcc就调用ld来完成最后的关键性工作,这个阶段就是连接。在连接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方。

4、汇编

汇编过程是针对汇编语言的步骤,调用as进行工作,一般来讲,.S为后缀的汇编语言源代码文件和汇编、.s为后缀的汇编语言文件经过预编译和汇编之后都生成以.o为后缀的目标文件。

(1)gcc编译apk扩展阅读:

gcc所遵循的部分约定规则:

1、.c为后缀的文件,C语言源代码文件。

2、.a为后缀的文件,是由目标文件构成的档案库文件。

3、.h为后缀的文件,是程序所包含的头文件。

4、.i 为后缀的文件,是C源代码文件且不应该对其执行预处理。

5、.m为后缀的文件,是Objective-C源代码文件。

6、.o为后缀的文件,是编译后的目标文件。

7、.s为后缀的文件,是汇编语言源代码文件。

② qt输出安卓程序设置

1.新建一个普通Widgets的工程

?2.选择Desktep Qt5.9.3 MinGW 32bit编译器和android for armeabi-v7a (GCC 4.9, Qt 5.9.3 for Android armv7)编译器

?3.然后选择默认的就行

?4.在mainwindow.ui界面上,放入两个按钮,分别命名为发布和订阅

?5.选择MinGW 32bit的debug编译模式,构建和运行

?6.选择Android的debug模式重新构建,构建完后,在工程同目录下,生产一个build-AndroidTest3-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_3_for_Android_armv7-Debug文件夹,在该生产的文件的android-buildin目录下,会生成该项目的APK

?7.点击运行按钮,在弹出框中选择AVDVertualDevice安卓仿真器,如果没有则点击【Creat Android Virtual Device】按钮新建一个。

?8.点击【ok】按钮后,等待安卓虚拟机启动一段时间,会弹出如下界面:(注意:要等安卓虚拟机完全开机完后,才会自动运行刚才的apk程序,第一次启动可能需要4-5分钟左右,如果需要持续调试,可以不用关闭该安卓虚拟机)

?9.如果刚才生产的apk没有自动启动的话,可以把刚才生产的apk丢进安卓虚拟机中进行测试

③ 如何用GCC在linux下编译C语言程序

在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器,假设我们有下面一个非常简单的源程序(hello.c):


int main(int argc,char **argv)


{


printf("Hello Linux ");


}


要编译这个程序,我们只要在命令行下执行:


gcc -o hello hello.c


gcc 编译器就会为我们生成一个hello的可执行文件.执行./hello就可以看到程
序的输出结果了

④ linux 怎么编译c的源程序的gcc,编译命令是什么

在Linux下面,如果要编译一个C语言源程序,我们要使用gcc编译器。

先将源文件编译成目标文件:gcc - c hello.c

生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o

如:

int main(int argc,char **argv)

{

printf("Hello Linux ");

}

(4)gcc编译apk扩展阅读:

在使用GCC编译器的时候,我们必须给出一系列必要的调用参数和文件名称。GCC编译器的调用参数大约有100多个,这里只介绍其中最基本、最常用的参数。具体可参考GCC Manual。

GCC最基本的用法是∶gcc [options] [filenames]

其中options就是编译器所需要的参数,filenames给出相关的文件名称。

网络_gcc

⑤ 64位linux下的GCC如何编译出一个32位可执行程序

理论上安装支持环境,之后64位的gcc编译成32位程序,就加-m32参数即可。

当然还一个办法是装个32位的gcc。

另外,交叉编迅纯译也适用于x86架构。

不过这么编译经常会出现各种问题,所以编译32位的程序,最好还是用32位系统。

不一定重装,用chroot和setarch命令配合即可弄出一个32位的子系统。

⑥ GCC安全编译选项

各种安全选择的编译参数如下:

NX:-z execstack / -z noexecstack (关闭 / 开启)
Canary:-fno-stack-protector /-fstack-protector / -fstack-protector-all (关闭 / 开启 / 全开启)
PIE:-no-pie / -pie (关闭 / 开启)
RELRO:-z norelro / -z lazy / -z now (关闭 / 部分开启 / 完全开启)

阅读全文

与gcc编译apk相关的资料

热点内容
centos开机命令行模式 浏览:695
遍历所有listpython 浏览:660
力控加密文件夹 浏览:515
如何更改移动服务器密码 浏览:686
苹果8p手机加密 浏览:749
ipad建文件夹怎么弄 浏览:833
iphone13对wap3加密 浏览:555
pdf文件打开失败 浏览:913
dubbo怎么调用不同服务器接口 浏览:40
全能解压王app历史版本 浏览:75
优先队列与拓扑排序算法 浏览:281
pdf转换formacbook 浏览:871
pdf文件内容怎么编辑 浏览:48
134压缩机排气温度多少 浏览:256
unity等待编译后 浏览:806
黑鲨手机锁屏视频在哪个文件夹 浏览:781
wow地图解压后怎么压缩 浏览:823
有pdf却打不开 浏览:461
七星彩软件app怎么下载 浏览:219
32单片机的重映射哪里改 浏览:817