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

app开发和网站开发哪个好/2023年7 8月十大新闻

app开发和网站开发哪个好,2023年7 8月十大新闻,上海市有哪些公司,微信小程序开发如何制作程序例子是简单的HELLO WORLD! 生成可执行文件 命令:#gcc hello.c -o hello 运行程序 #./hello 屏幕即显示hello world! gcc编译器选项 -o选项,表示输出的可执行文件。 -c选项表示只输出目标代码,而不必输出可执行…

程序例子是简单的HELLO  WORLD!

生成可执行文件

  命令:#gcc hello.c -o  hello

运行程序

  #./hello   屏幕即显示hello world!

gcc编译器选项

-o选项,表示输出的可执行文件。

-c选项表示只输出目标代码,而不必输出可执行文件。

-g选项表示要求编译器在编译的时候提供对程序的调试信息。

例如:

  #gcc -c test1.c    //将test1.c编译成test1.o

  #gcc -c test2.c    //将test2.c编译成test2.o

  #gcc -o test test1.o test2.o    //将test1.o和test2.o链接成可执行文件test

GDB简介

  GDB是GNU发布的一款功能强大的程序调试工具。GDB主要完成下面三方面的功能:

1、启动被调试程序。

2、让被调试的程序在指定的位置停住。

3、当程序被停住时,可以检查程序状态(如变量值)。

程序例子:起步(tst.c)

#include <stdio.h>
void main()
{int i;long result = 0;for(i=1;i<=100;i++){result+=i;}printf("result = %d\n",result);
}

GDB快速进阶

1、编译生成可执行文件:

gcc -g tst.c -o tst

2、启动GDB

gdb tst

3、在main函数处设置断点

break main

4、运行程序

run

5、单步运行

next

6、继续运行

continue

启动GDB

1、gdb调试程序名

例: gdb helloworld

2、gdb

file  调试程序名

GDB命令

list(l)查看程序

break(b)函数名在某函数入口处添加断点

break(b)行号在指定行添加断点

break(b)文件名:行号在指定文件的指定行添加断点

break(b)行号if条件当条件为真时,指定行号处断点生效,例b 5 if i=10,当i等于10第5行断点生效

info break查看所有设置的断点

delete断点编号删除断点

run(r)开始运行程序

next(n)单步运行程序(不进入子函数)

step(s)单步运行程序(进入子函数)

continue(c)继续运行程序

print(p)变量名查看指定变量值

finish运行程序,直到当前函数结束

watch变量名对指定变量进行监控

quit(q)退出gdb

Make与Makefile基础

在大型的开发项目中,通常有几十个到上百个的源文件,如果每次均手工键入gcc命令进行编译,会非常不方便。

Linux专门为软件开发提供了一个自动化的管理工具GNU make。

make可以自动地更新和编译程序。make将整个软件项目的代码分开在几个小的源文件里,在改动其中一个文件的时候,可以只对该文件重新进行编译,然后重新连接所有的目标文件。

make依靠Makefile文件完成。

在Linux系统中,习惯使用Makefile作为makefile文件。如果要使用其他文件作为makefile,则可利用下面make命令指令makefile文件:

#make -f Makefile.debug

Makefile是一个文本格式的数据库文件,包含一些规则,告诉make编译哪些文件,在什么条件下编译。

makefile的宗旨就是:让编译器知道要编译一个文件需要依赖其他的哪些文件。当那些依赖文件有了改变,编译器会自动的发现最终的生成文件已经过时,而重新编译相应的模块。

makefile带来的好处就是—―自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。

make命令格式:

make [-f Makefile]  [option] [target]

#make target

#make

#make clean

Makefile的格式

target ... :dependencies ...

  command

  ...

  target也就是一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label)。

  dependencies就是,要生成那个target所需要的文件或是目标。

  command也就是make需要执行的命令。(任意的Shell命令,可以有若干行)

  Command必须以Tab键开头。否则,make就会显示出错信息。如果某一命令行太长可以分作两行,用反斜杠(\)连接

Make的工作流程

1、make会在当前目录下找名字为“makefile” 或“Makefile”的文件。

2、如果找到,它会找文件中的第一个目标文件(target),并将这个文件作为最终的目标文件。

3、如果目标文件不存在或目标文件所依赖的文件修改时间比目标文件新,那么就执行后面定义的命令,来生成这个目标文件。

4、如果目标文件所依赖的文件也存在,那么make会在当前文件中找目标文件的依赖性,如果找到则再根据那一个规则生成所依赖的文件。

5、make会一层又一层地找文件的依赖关系,直到最终编译出第一个目标文件。

一个简单的例子
edit : main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
cc -o edit main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
main.o : main.c defs.h
cc -c main.c
……
……
search.o : search.c defs.h buffer.h
cc -c search.c
files.o : files.c defs.h buffer.h command.h
cc -c files.c
utils.o : utils.c defs.h
cc -c utils.c
clean :
rm edit main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o

makefile中使用变量

在makefile中定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在makefile中执行的时候其会自动原模原样地展开在所使用的地方。

变量的命名字可以包含字符、数字,下划线(可以是数字开头),但不应该含有“:”、 “#”、“=”或是空字符(空格、回车等)。

变量是大小写敏感的,“foo”、“Foo”和“FOO”是三个不同的变量名。

变量在声明时需要给予初值,而在使用时,需要给在变量名前加上“$”符号,但最好用小括号“()”或是大括号“{}”把变量给包括起来。

使用变量的makefile
objects = main.o kbd.o command.o display.o insert.o search.o files.o utils.o
edit : $(objects)
cc -o edit $(objects)
main.o : main.c defs.h
cc -c main.c
kbd.o : kbd.c defs.h command.h
cc -c kbd.c
command.o : command.c defs.h command.h
cc -c command.c
display.o : display.c defs.h buffer.h
cc -c display.c
。。。。。。
。。。。。。
utils.o : utils.c defs.h
cc -c utils.c
clean :
rm edit $(objects)

make自动推导

只要make看到一个[.o]文件

  它就会自动的把[.c]文件加在依赖关系中,如果make找到一个whatever.o,那么whatever.c,就会是whatever.o的依赖文件

  并且 cc -c whatever.c 也会被推导出来

于是,我们的makefile再也不用写得这么复杂。

最终可以变成
objects = main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
edit : $(objects)
cc -o edit $(objects)
main.o : defs.h
kbd.o : defs.h command.h
command.o : defs.h command.h
display.o : defs.h buffer.h
insert.o : defs.h buffer.h
search.o : defs.h buffer.h
files.o : defs.h buffer.h command.h
utils.o : defs.h
.PHONY : clean
clean :
rm edit $(objects)                                           “.PHONY”表示,clean是个伪目标文件。

  

转载于:https://www.cnblogs.com/yanghaishu/archive/2012/03/27/2420440.html

http://www.jmfq.cn/news/4912345.html

相关文章:

  • 企业网站域名注册查询/深圳竞价托管
  • 网站制作怎么填/网络营销的效果是什么
  • 潍坊做网站联系方式/网域名查询地址
  • 大学生做兼职的网站有哪些/关键词搜索排名怎么查看
  • wordpress响应式免费/seo策略
  • 做网站销售说辞/温州seo优化公司
  • 企业门户网站属于什么层/今日nba比赛直播
  • 网站的弹窗广告怎么做/个人网站制作模板
  • 景区微网站建设费用/正规的培训机构有哪些
  • 西藏自治区seo 标题 关键词优化/seo提高网站排名
  • 东莞哪里有做企业网站的/怎么开设自己的网站
  • 企业网站建设的步骤过程/北京出大大事了
  • 免费做店招的网站/贵港seo
  • 合作公司做网站/搜索引擎关键词优化方案
  • 网站建设的基本规范有什么/北京seo营销培训
  • 做网站不会写代码/泰州网站排名seo
  • 网站建设策划报价/舆情报告范文
  • 东莞网站推广策划活动/创网站永久免费建站
  • 网站建设专业的公司哪家好/线上宣传推广方式
  • wordpress 经过天数/win7最好的优化软件
  • 网站开发中的paml/查网站流量查询工具
  • 宿州网站建设/徐州百度搜索网站排名
  • 直聘最新招聘信息/无排名优化
  • 那个网站上有做婚礼布场样图的/发新闻稿平台
  • 建设英文网站的公司/富阳seo关键词优化
  • 唯品会一家专门做特卖的网站/数字营销网站
  • 增城网站建设价格/南宁网站seo
  • 深圳做网站新科/百度刷seo关键词排名
  • 05网站/今日头条新闻头条
  • 网站内容授权书/买友情链接有用吗