Linux下C开发之gcc,gdb的使用
gcc,gdb的使用
作者:zccst
上周五在图书馆借了一本《Linux软件工程师(C语言)实用教程》,让我收获良多。不仅仅是书中的知识,还有对知识体系和架构认识的深入。
Linux下C开发:
1,gcc,gdb的使用。
2,Makefile文件的编写。
3,系统函数的使用
4,文件操作
5,串行通信
6,进程控制
7,进程间通信
8,网络编程
9,图形编程
10,数据库编程
11,qt编程
Linux下C开发之——gcc,gdb的使用
gcc编译器
前提编辑工具的使用:vi vim Emacs。
vi hello.c
一、常见步骤:
对于只有一个源文件的简单程序,常常只有编译,运行两步。
1,gcc hello.c -o hello
2,./hello
二、gcc编译流程
gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步
hello.c (源码)
hello.i 生成预处理文件,
参数是“-E”,把hello.c -> hello.i。完整命令为gcc hello.c -o hello.i -E
hello.s 编译生成汇编文件,
参数是“-S”,把hello.i -> hello.s。完整命令为gcc hello.i -o hello.s -S
hello.o 将汇编文件变为目标代码,
参数是“-c”,把hello.s -> hello.o。完整命令为gcc hello.s -o hello.o -c
hello 链接目标代码,生成可执行程序,
参数无, 把hello.o -> hello。 完整命令为gcc hello.o -o hello
./hello (运行)
三、gcc的主要参数
1,总体参数
-E 只进行预编译,不做其他处理
-S 只是编译不汇编,生成汇编代码
-c 只是编译不链接,生成目标文件“.o”
-o file 把输出文件输出到file里
-g &nbs
相关文档:
强制类型转换是通过类型转换运算来实现的。其一般形式为: (类型说明符) (表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。例如: (float) a 把a转换为实型(int)(x+y) 把x+y的结果转换为整型在使用强制转换时应注意以下问题:
1.类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int) ......
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using  ......
解题思路: 这个网络上已经有很多答案,这里
列举一个复杂度为0(m*n)的例子。实现的原理
很简单,顺序遍历要查找的字符串,如果没有找
到,字符串指针往前一位,再往后比较要查找的
字符串(模式串),如下图所示:
a b c d d d a d a c a b d a d d d a d c k
&nbs ......
1、局部变量能否和全局变量重名?
答:能,局部会屏蔽全局。要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那 ......
作者:
曾宏安,华清远见嵌入式学院
高级讲师。
运算符sizeof可以计算出给定类型的大小,对于32位系统来说,sizeof(char) = 1; sizeof(int) = 4。基本数据类型的大小很好计算,我们来看一下如何计算构造数据类型的大小。
C语言中的构造数据类型有三种:数组、结构体和共用体。
数组是相同类型的元素的集合,只要会计算 ......