摘要: #pragma是编译器指示字,用域指示编译器完成一些特定动作, #pragma所定义的很多指示字是编译器和操作系统特有的 #pragma在不同的编译器间是不可移植的 预处理器将忽略它不认识的#pragma指令 两个不同的编译器可能以两种不同的方式解释同一条#pragma指令 用法;#pragma p 阅读全文
posted @ 2016-12-06 09:13 丁培飞 阅读(268) 评论(0) 推荐(0) 编辑
摘要: #error message 注:message不需要用双引号包围, #error 编译指示字用于自定义程序特有的编译错误消息类似的, #warning用于生成编译警告,但不会停止编译。 在linux终端定义 gcc -Dadroid40 test.c 在终端定义常量方法,后执行a.out,结果正常 阅读全文
posted @ 2016-12-05 22:56 丁培飞 阅读(719) 评论(0) 推荐(0) 编辑
摘要: 【gcc -E test.c -o test.i >预处理文件生成.i 文件。】 1、c语言程序生成过程 C语言程序的生成过程可以简单的分为:编辑、预处理、编译、汇编、链接五个阶断。 下面所有的操作以hello world程序为例,源码文件命名为t.c,源码内容如下: #include <stdio 阅读全文
posted @ 2016-12-02 23:43 丁培飞 阅读(7381) 评论(0) 推荐(0) 编辑
摘要: GCC编译器非常强大 ,在各个发行的Linux系统中都非常流行,本文介绍的是一些常用的gcc编译选项 下面这段代码将回围绕整个文章: 编辑main.c如下. [cpp] view plain copy print? #include<stdio.h> int main(void) { printf( 阅读全文
posted @ 2016-12-02 23:00 丁培飞 阅读(4474) 评论(0) 推荐(0) 编辑
摘要: gcc命令使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点。现在很多程序员都应用GCC,怎样才能更好的应用GCC。目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语 阅读全文
posted @ 2016-12-02 23:00 丁培飞 阅读(317) 评论(0) 推荐(0) 编辑
摘要: gcc是linux下最常用的一款c编译器,对应于CPP 有相应的g++工具,debug有gdb,只是还不会用。 个人感觉gcc确实是个好东西,完全可以直接在gedit下编程然后写个shell脚本用gcc编译,不比一些IDE麻烦多少,某些IDE实在不但难用而且还会出一些莫名其妙的错误。 1. gcc 阅读全文
posted @ 2016-12-02 22:39 丁培飞 阅读(1192) 评论(0) 推荐(0) 编辑
摘要: 1简介 2简单编译 2.1预处理 2.2编译为汇编代码(Compilation) 2.3汇编(Assembly) 2.4连接(Linking) 3多个程序文件的编译 4检错 5库文件连接 5.1编译成可执行文件 5.2链接 5.3强制链接时使用静态链接库 1简介 GCC 的意思也只是 GNU C C 阅读全文
posted @ 2016-12-02 22:38 丁培飞 阅读(296) 评论(0) 推荐(0) 编辑
摘要: linux下getsockopt和setsockopt详解及测试 NAME 名字 getsockopt, setsockopt - get and set options on sockets 获取或者设置套接字的选项 SYNOPSIS 函数原型 参数: sock:将要被设置或者获取选项的套接字。 阅读全文
posted @ 2016-12-01 23:52 丁培飞 阅读(7893) 评论(0) 推荐(0) 编辑
摘要: 【 getsockopt/setsockopt系统调用 功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的 阅读全文
posted @ 2016-12-01 23:47 丁培飞 阅读(8309) 评论(0) 推荐(0) 编辑
摘要: 头文件:#include <stdio.h> fopen()是一个常用的函数,用来以指定的方式打开文件,其原型为: FILE * fopen(const char * path, const char * mode); 【参数】path为包含了路径的文件名,mode为文件打开方式。 mode有以下几 阅读全文
posted @ 2016-12-01 23:42 丁培飞 阅读(5415) 评论(0) 推荐(0) 编辑
摘要: Linux 套接字的用户接口. 这个 BSD 兼容套接字是介于用户进程与内核网络协议栈之间的统一接口, 各协议模块属于不同的 协议族 ,如 PF_INET, PF_IPX, PF_PACKET 和 套接字类型 ,如 字节流(SOCK_STREAM) 或 数据报(SOCK_DGRAM). 关于协议族和 阅读全文
posted @ 2016-12-01 23:40 丁培飞 阅读(1552) 评论(0) 推荐(0) 编辑
摘要: 1)指针基础: 既然程序中的变量只是一段存储空间的别名,那么是不是必须通过这个别名才能使用这段存储空间, int main() { int i=5; int *p=&i; printf("%d,%08x\n",i,p); *p=10; printf("%d,%08x\n",i,p); return 阅读全文
posted @ 2016-11-30 00:30 丁培飞 阅读(270) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2016-11-28 13:29 丁培飞 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, uns 阅读全文
posted @ 2016-11-28 12:36 丁培飞 阅读(66371) 评论(2) 推荐(3) 编辑
摘要: 1 五.指针数组和数组指针 2 1.指针数组 char *p[3];每个元素都是指针 3 int main(void) 4 { 5 char *p1 = "sadqwdq"; 6 char *p2 = "wqdcd"; 7 char *p3 = "32131"; 8 9 char *p[3] = { 阅读全文
posted @ 2016-11-28 12:14 丁培飞 阅读(245) 评论(0) 推荐(0) 编辑