龙空技术网

C程序员的核心技术-调试(1)

非凡创客 1361

前言:

当前朋友们对“c语言的调试是指对源程序进行淘豆网”大体比较关心,我们都想要剖析一些“c语言的调试是指对源程序进行淘豆网”的相关知识。那么小编在网上网罗了一些对于“c语言的调试是指对源程序进行淘豆网””的相关资讯,希望姐妹们能喜欢,咱们一起来学习一下吧!

一、调试是编程或者学习编程的核心技术

刚入门或者对编程不够精通的同志,在编程的过程中经常遇到各种问题,要么对提示的错误感到束手无策,要么就是不得要领,甚至编程很多年的同志都没有找到学习语言的要领!经常在群或者微信询问我学习编程的技巧或者解决问题之道,我给出的答案是调试是学习编程最重要的技巧、最重要的核心技术,调试和架构能力是区分程序员水平的重要标志。

不论对新手、老手甚至高手,就不存在没有问题的程序,可以说开发工程师就是为了解决各种问题而存在的,没有问题,开发工程师也就没有存在的必要了!因此有各种问题是正常的,没有问题才是最大的问题!

学习程序,解决遇到的问题,调试都是最有效的方法和手段!

比如,想了解程序的流程,执行调试,对程序的运行过程就能了如指掌,当然就能轻而易举掌握诸如IF ELSE等语法的功能。

通过变量的观察功能,我们就知道数据运算是否按照既定的方式完成的,问题出在哪里,其它诸多功能就不一一赘述,请大家自己通过不断的学习和实践来体会!

二、调试要解决的问题

1、程序的加工过程

(1)编写设计要求

(2)编写流程图

(3)完成局部功能代码

(4)多函数或者多文件联合调试

(5)编译链接生成可执行程序

(6)程序测试

2、调试要解决的问题

(1)编译过程中的错误(语法错误)

(2)链接过程中的错误(语法错我)

(3)程序测试(功能性错误)

前两种统称为语法错误,无法生成可执行程序,出现在局部函数完成的过程和多函数多文件联合调试过程,需要掌握编译、链接的原理和基本的语法排错技巧。

第3种通常称为BUG,能够通过编译和链接,生成能够正常执行的程序,但是存在一些不符合设计要求的功能,比如没有实现某些功能,程序崩溃、非正常退出、输出的数据错误等。

3、特殊调试

上述一般说的都是有源代码的调试,在现实应用中,还有很多调试,没有源代码,但是需要对程序进行调试、分析、逆向工程、破解等。通常把可执行程序进行反汇编,进行静态或者动态的调试,这种调试需要精通汇编语言、系统函数和操作系统的原理。

通常程序的发行需要对程序进行加密,这是商业程序必不可少的步骤和过程!软件教学过程确很少提到这个问题。

三、程序的编译原理及编译器的构成

通常我们都需要一套工具进行程序设计,我们就以常用的VC来说吧,他是一系列的的工具合集。

1、编程软件的组成

(1) 文本编辑器

用来编写源代码

(2)C程序编译器: cl.exe

如果安装了VC2010,我的是默认的安装路径,会在如下路径

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin

中找到cl.exe可执行文件,他是C程序编译器, 用来把源代码生成*.OBJ文件,也就是点击“生成”下的子菜单“编译”按钮时,会调用cl.ece生成*.obj文件。

cl.exe的参数问题,在调用cl.exe时使用不同的参数可以完成不同的任务,由于本文重点所限,就不一一列觉它的参数和作用,请读者参考其它资料。在VC中他是通过IDE中不同的菜单或者选项来控制编译参数的。

(3)连接器:link.exe

link.exe 把若干的*.obj文件组装成可执行文件,一般还隐含了程序格式转换程序,即把生成的程序转换成特定的格式。

与cl.exe相同,link.exe一样有参数,在VC中他是通过IDE中不同的菜单或者选项来控制链接参数的。

(4)库管理

一般分为静态库和动态库,我们学习C语言的时候基本上都是静态库,在编译的时候就要加入相关库代码,最后链接生成可执行文件。库管理可以把一些功能代码做成库的形式,VC中静态库有2部分组成,一个是头文件,另一个是具体的代码库,比如match.h和对应的库文件*.lib,通过包含头文件来使用库。

(5)IDE

为了简化操作和管理功能,一般都会提供一个集成的IDE来管理各个功能。

四、使用VC2010建立一个C程序

安装好VC2010后,就可以用来学习C语言了。

1、新建一个项目

单开菜单:文件-新建-项目

图1:新建项目

2、新建win32控制台程序

在图1中点击“win32控制台程序”,名称位置输入LX,

图2:选择win32控制台程序

3、建立一个空的win2控制台程序

图3:建立一个空的win32控制台程序

4、添加C源文件

图4:添加C源文件

没有C源文件的,可以新建一个c++文件,文件名改成*.c既可。

右键点击“源文件”文件夹,在弹出的菜单中选择“添加”,在添加的下级菜单中选择“现有项目”

图5:打开添加文件对话框

点击“1.c”文件,点击“添加”

图6:添加C语言文件

4、编译C语言文件生成可执行文件

点击菜单“生成”下的“生成解决方案”

图7:程序成功编译

5、运行程序

点击菜单“调试”下的“开始运行(不调试)”

图8:程序运行结果

程序输出了要显示的内容,说明程序成功的运行了。

至此,VC的编译原理和结构,以及使用VC编译C程序就完成了。下期我们开始讲述调试功能的使用。

五:“LNK1123:转换到 COFF期间失败:文件无效或损坏”的解决办法

由于连接器LNK是通过调用cvtres.exe完成文件向coff格式的转换的,所以出现这种错误的原因就是cvtres.exe出现了问题。搜索本机C盘cvtres.exe文件,

使用C:\Windows\winsxs文件夹中的较新版“cvtres.exe”替换掉..\Microsoft Visual Studio 10.0\VC\bin中的同名文件即可。

本文属于原创首发:不经授权请勿用于商业用途。

标签: #c语言的调试是指对源程序进行淘豆网 #c语言英文版转换到coff文件失败怎么办