当前位置: 首页 > news >正文

广告发布需要许可证吗/深圳快速seo排名优化

广告发布需要许可证吗,深圳快速seo排名优化,微信营销不属于社会化网络营销方式,手机门户网站建设交叉编译使用不同的交叉编译工具链编译源码,能在不同框架的处理器上运行。如:gcc -o hello hello.c上述命令编译出来的文件能在 X86 上运行,因为 gcc 编译工具链是给PC编译的。arm-linux-gnueabihf-gcc -o hello hello.c上述命令编译出来的文…

交叉编译

使用不同的交叉编译工具链编译源码,能在不同框架的处理器上运行。
如:

gcc -o hello hello.c

上述命令编译出来的文件能在 X86 上运行,因为 gcc 编译工具链是给PC编译的。

arm-linux-gnueabihf-gcc -o hello hello.c

上述命令编译出来的文件能在 ARM 上运行。

简要知识点 **

  1. 头文件的作用:
    1. 声明(declare)
  2. c文件的作用
    1. 定义、实现(define)
  3. 头文件寻址
    1. 默认路径:编译器中的 include 目录
    2. 可指定:
      1. #include "xx/" :由当前文件路径算起
      2. 编译时用 "-I" 选项指定
  4. c文件内的外部函数在哪里,如 printf 函数:
    1. 库:
      1. 默认路径:编译器中的 lib 目录
      2. 可指定:
        1. 编译时用 "-I" 指定库文件
        2. 编译时用 "-L"指定库目录
  5. 怎么确定交叉编译器中头文件的默认路径?
    1. 进入交叉编译器的目录,使用find命令直接查找,如
  6. 怎么确定交叉编译器中库的默认路径?
    1. 进入交叉编译器的目录,执行"find -name lib",进去看看, 有很多 .so 文件的里面就是要找的路径。

一些概念

  1. 交叉编译工具链中的 include 目录和lib 目录:
    1. include 存放头文件
      1. 这些头文件一般是函数声明,还有一些变量声明,名字空间,宏定义,typedef 等等
    2. lib 存放obj文件的(对gcc来说为.o)
      1. 也就是说,一些库文件,人家不想让你看见源代码,只是给了你中间生成的obj文件

GCC编译器

 PC机上的编译工具链有 gcc、ld、objcopy、objdump等等,他们编译出来的程序能在 X86 平台上运行。
要使编译出来的的程序能在 ARM 上运行,就必须使用交叉编译工具链 xxx-gcc、xxx-ld等(不同版本的编译器的前缀不一样,如 arm-linux-gcc)。

GCC简要使用

GCC编译过程 **

 一个C/C++文件要经过预处理、编译、汇编、链接等4个步骤才能变成一个可执行文件。(日常交流中用 编译 统称以上四大步骤)

  1. 预处理,在预处理过程中,对源代码文件中的文件包含(include)、 预编译语句(如宏定义define等)进行展开,生成.i文件。 可理解为把头文件的代码、宏之类的内容转换成更纯粹的C代码,不过生成的文件以.i为后缀。
  2. 编译,把预处理后的.i文件通过编译成为汇编语言,生成.s文件,即把代码从C语言转换成汇编语言,这是GCC编译器完成的工作。
  3. 汇编,将汇编语言文件经过汇编,生成目标文件.o文件,每一个源文件都对应一个目标文件。即把汇编语言的代码转换成机器码,这是as汇编器完成的工作。
  4. 链接,最后将每个源文件对应的.o文件链接起来,就生成一个可执行程序文件,这是链接器ld完成的工作。
    • 链接分为两种
      • 动态链接
        • GCC编译时的默认选项。
        • 指应用程序运行时才去加载外部的代码库。
      • 静态链接
        • 链接时使用选项 –static
        • 它在编译阶段就会把所有用到的库打包到自己的可执行程序中。

95672b8affe9be4b6e7ded146d505998.png

常用的编译选项

选项描述
-E预处理,开发过程中想快速确定某个宏可以使用 “-E -dM”
-c做了预处理、编译、汇编,但是没做链接
-o指定输出文件
-I指定头文件目录(大写 i)
-l指定链接到哪一个库文件(小写 L)
-L指定链接时库文件目录

编译多个文件

  1. 一起编译、链接:
    如:
gcc -o hello main.c hello.c
  1. 分开编译,统一链接:
    如:
gcc -c -o main.o main.c
gcc -c -o hello.o hello.c
gcc -o hello main.o hello.o

制作、使用动态库

  1. 制作、编译:
gcc -c -o main.o main.c
gcc -c -o hello.o hello.c
gcc -shared -o  hello.o hello1.o // (*可以使用多个 .o 生成一个动态库*)
gcc -o hello main.o -lhello -L <目录路径> // (*该路径为  文件所在目录*)
  1. 运行
    1. 放到PC或板子的/lib目录下,然后运行test程序。
    2. 如果不想把 放到/lib, 也可以放到自己新建的某个目录,如 /mylib,然后执行:
export  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/a
./hello

(其实就是修改 库的环境变量。)

制作、使用静态库

gcc -c -o main.o main.c
gcc -c -o hello.o hello.c
ar   crs   lib hello.o hello1.o // (*可以使用多个 .o 生成一个静态库*) 
gcc -o hello main.o lib // (*如果 .a 不在当前目录下,需要指定它的绝对路径或相对路径*)

注意:不需要把 静态库文件拉到板子上

很有用的选项

gcc -E main.c // 查看预处理结果,比如头文件是哪个
gcc -E -dM main.c >  // 把所有的宏展开,保存到  文件里
gcc -Wp,-MD, -c -c -o main.o main.c // 生成依赖文件 ,后面 Makefile 会用到

参考

http://www.lbrq.cn/news/1601623.html

相关文章:

  • 专业网站建设网站研发深圳公司/怎么样优化网站seo
  • 怎么用织梦来做网站后台/2020年关键词排名
  • 做国外百科知识网站/网站注册免费
  • 工商注册官方网站/考试培训
  • 怎么做网站销售/创建网站的基本流程
  • 天地心公司做网站怎样/百度一下百度官方网
  • java做网站微信公众选件/广告软文营销平台
  • 网站一般有哪些模块/网球新闻最新消息
  • 快速做网站详情页/广东省疫情最新
  • 教育网站建设策划书/网站提交入口百度
  • wordpress是mvc吗/视频优化软件
  • 怎样学做企业网站/广点通推广登录入口
  • 网站通栏设计素材/农村电商平台有哪些
  • 网站建设ftp上传是空目录/建立个人网站
  • 国内企业网站模板/百度首页网址是多少
  • 深圳网站开发是什么/公司建立网站的步骤
  • 好学校平台网站模板/广东seo点击排名软件哪里好
  • 外国做的中国动画视频网站/外贸平台推广
  • 贵阳网站制作贵阳网站建设哪家好/安徽百度关键词优化
  • 宁波网站搭建定制非模板网站建设/石家庄网络推广优化
  • 塑胶原料 东莞网站建设/网站推广基本方法是
  • 织梦装修网站模板/娄底地seo
  • title 门户网站建设招标书/推广普通话心得体会
  • 珠海网站建设知识/快速提高关键词排名的软件
  • 网站地图 设计/网络营销的方式有哪些
  • 杭州seo网站推广/网络营销的三种方式
  • 网站建设南昌/软文网站有哪些
  • 个人电脑建立网站/长沙官网seo技术
  • 做搜索网站挣钱/百度seo点击排名优化
  • 企业营销网站模板免费下载/查网站
  • 链表问题解决分析框架
  • shell脚本tcpdump抓取数据解析执行关机指令
  • 第12届蓝桥杯Scratch图形化【省赛】初级组 2021年4月24日
  • 推荐系统学习笔记(九)曝光过滤 Bloom Filter
  • 介绍JAVA语言、介绍greenfoot 工具
  • 吴恩达【prompt提示词工程】学习笔记