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

个人互动网站wordpress 阿里秀

个人互动网站,wordpress 阿里秀,深圳市西特塔网站建设工作室,淄博网站开发网泰好文章目录一、实验目的#xff1a;二、实验要求三、实验内容四、实验操作1、用gcc编译程序#xff0c;写出编译过程#xff0c;并给出运行结果。2、调试程序#xff0c;要求用gdb进行调试并给出修改方案。3、make的使用一、实验目的#xff1a; 1、练习并掌握Linux提供的v… 文章目录一、实验目的二、实验要求三、实验内容四、实验操作1、用gcc编译程序写出编译过程并给出运行结果。2、调试程序要求用gdb进行调试并给出修改方案。3、make的使用一、实验目的 1、练习并掌握Linux提供的vi编辑器来编译C程序 2、学会利用gcc、gdb编译、调试C程序 3、学会使用make工具 二、实验要求 1、编写C语言程序用gcc编译并观察编译后的结果运行生成的可执行文件。 2、利用gdb调试程序。 3、学习编写makefile并进行编译。 三、实验内容 1、GNU C编译器 1使用gcc 通常后跟一些选项和文件名来使用gcc编译器。gcc命令的基本用法如下 gcc [options] [filenames] 命令行选项指定的编译过程中的具体操作 2gcc常用选项 当不用任何选项编译一个程序时gcc将建立假定编译成功一个名为a.out的可执行文件。 选项含义 -o FILE 指定输出文件名在编译为目标代码时这一选项不是必须的。如果FILE 没有指定默认文件名是a.out 也可用-o选项来为即将产生的可执行文件指定一个文件名来代替a.out。 -c GCC 仅把源代码编译为目标代码。默认时GCC 建立的目标代码文件有一个.o 的 扩展名。 -E 对文件进行预处理 -S 对文件进行编译生成汇编代码。 -O 对源代码进行基本优化。这些优化在大多数情况下都会使程序执行得更快。 -g 在可执行程序中包含标准调试信息。 -Wall 允许发出GCC 能提供的所有有用的警告也可以用-W(warning)来标识指定的警告。 -l name 链接静态库 -L dir 库文件的搜索路径 3执行文件 格式 ./可执行文件名 2、gdb调试工具 1调试编译代码 为了使gdb正常工作必须使你的程序在编译时包含调试信息。调试信息里包含你程序里的每个变量的类型和在可执行文件里的地址映射以及源代码的行号。gdb利用这些信息使源代码和机器码相关联。 在编译时用 –g 选项打开调试选项。 2gdb基本命令 命令描述file装入欲调试的可执行文件kill终止正在调试的程序list列出产生执行文件的源代码部分next执行一行源代码但不进入函数内部step执行一行源代码并进入函数内部run执行当前被调试的程序quit终止gdbwatch监视一个变量的值而不管它何时被改变break在代码里设置断点使程序执行到这里时被挂起make不退出gdb就可以重新产生可执行文件shell不离开gdb就执行UNIX shell 命令四、实验操作 1、用gcc编译程序写出编译过程并给出运行结果。 mypow.c定义mypow()函数 unsigned long long mypow(unsigned int x, unsigned int y) {unsigned long long res1;if (y0)res 1;else if (y1)res x;elseres x * mypow(x, y-1);return res; }powtest.c调用mypow()函数 #include stdio.h #include stdlib.h int main(int argc, char *argv[]) {unsigned int x, y;unsigned long long res;if ((argc3) || (sscanf(argv[1], %u, x)) ! 1 || (sscanf(argv[2], %u, y)) ! 1 ){printf(Usage:pow base exponent\n);exit(1);}res mypow(x, y);printf(%u ^ %u %u\n, x, y, res);return 0; }用gcc -o命令编译 用gcc命令编译 要注意实验中给出的powtest.c文件里没有对mypow.c头文件进行引用因此做实验的时候自己要加这个头文件如下图第四行 2、调试程序要求用gdb进行调试并给出修改方案。 1源程序的功能按照正序和逆序输出给定的字符串。要求用gdb进行调试分析出错的原因并给出修改方案。 #include stdio.h #include string.h #include malloc.h void my_print (char *string); void my_print2 (char *string); int main() {char my_string[] hello there;my_print (my_string);my_print2 (my_string);return 0; } void my_print (char *string) {printf (The string is %s\n, string); } void my_print2 (char *string) {char *string2;int size, i;size strlen (string);string2 (char *) malloc (size 1);for (i 0; i size; i)string2[size - i] string[i];string2[size 2] \0;printf (The string printed backward is %s\n, string2); }第一种调试方法 上述调试方法中从26行跳出然后查证string数组的值会发现string[0]位置上的值未被替换仍为正序输入 第二种调试方法 上述方法中可以看出来size的值是11之后的语句size-i我们可知是从string2[11]开始赋值的那这样我们赋值到string2[1]时“hello there就复制结束了但是string2[0]仍未被赋值这就出现了错误。 Warningstring2[0]\000 string2[1]e string2[2]r string2[size]h 也就是说没有从string2[10]开始存储值而是从string2[11]开始存储的故string2[0]产生空置。 方案赋值时应该size-1-i开始逆序赋值,而不是size-i 将 string2[size - i] string[i]; 替换成 string2[size - i - 1] string[i]; 将string2[size 2] ‘\0’; 替换成 string2[size] ‘\0’; 3、make的使用 1用vi编辑以下程序程序清单 main.c function1.h function1.c function2.h function2.c //main.c #include function1.h #include function2.h int main(int argc, char **argv) { function1_print(hello); function2_print(world);return 0; }//function1.h void function1_print(char *str); //function1.c #include function1.h void function1_print(char *str) { printf(This is function1 print %s\n, str); }//function2.h void function2_print(char *str); //function2.c #include function2.h void function2_print(char *str) { printf(This is function2 print %s\n, str); }2实验要求 a)画出各个源程序、目标文件以及最终的目标文件之间的依赖关系图。 b)编辑makefile文件 ps:上传图片的时候才发现自己把function2.o写成function2.0了我个铁憨憨 c)利用make命令进行上述程序的编译生成可执行代码并运行。 d)修改其中一个源文件重新make察看编译过程。 e)通过使用makefile变量和隐含规则对makefile文件进行简化 这里的 $(CFLAGS)可以不写其是c编译器的选项无默认值这里我们也不需要选择编译器但是养成良好的代码习惯也是很必要滴 ~ 万一以后需要选择编译器但没写不大可能找起bug来会非常头疼滴 ~
http://www.zqtcl.cn/news/571477/

相关文章:

  • 网站建设网站备案所需资料请兼职做企业网站设计怎么收费
  • 电脑配件经营网站的建设论文邯郸市环保局网站建设项目环境
  • 那些网站可以做反链免费游戏不用登录直接玩
  • 安徽网站建设的基本步骤接外贸订单的平台
  • 那些网站可以找得到做货代的广东企业微信网站开发
  • 海宁市建设局官方网站6哔哩哔哩网页版官网在线观看
  • 泉州网站建设轩奇网讯韩国美容网站模板
  • 培训好吗网站建设wordpress手游
  • 元典科技网站建设网页设计制作图片页面
  • 网站设置什么意思无代码搭建平台
  • 织梦做的网站后台登录做网站购买域名
  • 哈尔滨网站关键词优化排名合江做网站
  • 手机网站自动适配旅游网络营销方案
  • 敦化网站开发黔东南购物网站开发设计
  • 建设一个网站 需要提供什么如何免费推广自己的网站
  • 佛山企业网站制作公司中国互联网企业100强榜单
  • 买了域名就可以做网站怎么创造游戏软件
  • 广东广州电脑个人建站徐州网站排名公司
  • 网站优化 流量做网站对企业有什么好处
  • 建设机械网站制作人工智能工程师月薪多少
  • wordpress 百度站长沈阳app开发公司哪家好
  • 做网站平台公司网站建设硬件环境
  • 可视化编辑建站平台新密市城乡建设局网站
  • 电子商务的网站的建设内容wordpress主题 微软
  • 什么软件可以做动画视频网站网站的按钮怎么做 视频
  • 饰品做商城网站模式17网站一起做网店新塘
  • 微信做的地方门户网站做设计的平台
  • 旅游网站建设国内外现状安卓开发软件安装教程
  • 网站建设必备网站自助建设
  • 杭州免费自助建站模板辽宁建设工程信息网为什么打不开