c语言学习
sdlcgxcqx
这个作者很懒,什么都没留下…
展开
-
Linux下C语言编程--基础知识
Linux下C语言编程--基础知识 http://linuxc.51.net 作者:hoyt (2001-05-08 11:31:29)前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将会学到以下内容: 源程序编译 Makefile的编写 程序库的链接 程序的调试 头文件和系统求助原创 2008-12-29 14:10:00 · 1033 阅读 · 0 评论 -
程序员,如何选择合适的程序语言
【CSDN2月26日编译】由于个人专业缘故,我一直在寻找最好的工具。大家都知道,由于在软件多种多样的原因,我们在开发过程中,需要选择各式各样的程序语言进行工作。也正因如此,我经常被软件开发的初学者问及:“究竟应该学习哪种语言?”。但是当我反问他们想要做些什么的时候,他们却变得一脸茫然。原来这些人一直认为,一种最佳语言可以解决所有的问题。每个人都知道,这个世界上并不存在万能的“银弹”,但转载 2009-02-27 11:34:00 · 452 阅读 · 0 评论 -
c语言中的内存对齐
先看一个具体的问题:内存对齐的问题。 struct倘若如此声明:struct something {......} 如果在结构体后面加上__attribute__((packed));记得带上后面的";"那么就是严格的各个成员的大小之和。或者可以在程序开头的地方加上#pragma pack(N),其中N为对齐的字节数,若为1则和__attribute__((packed))是一个意转载 2009-03-02 18:16:00 · 490 阅读 · 0 评论 -
__func__标识符
__func__是C99标准里面预定义标识符, 它是一个static const char[], 会在每一个使用__func__的函数里隐式定义.下面是ISO9899里的例子#include void myfunc(void){ printf("%s/n", __func__); /* ... */}输出: myfunc 据我所知好像只有GCC才支持这个标识符, 其它转载 2009-03-02 13:31:00 · 652 阅读 · 0 评论 -
C99标准更新
1、增加restrict指针 C99中增加了公适用于指针的restrict类型修饰符,它是初始访问指针所指对象的惟一途径,因此只有借助restrict指针表达式才能访问对象。restrict指针指针主要用做函数变元,或者指向由malloc()函数所分配的内存变量。restrict数据类型不改变程序的语义。 如果某个函数定义了两个restrict指针变元,编译程序就假定它们指向两个不同的转载 2009-03-02 13:46:00 · 547 阅读 · 0 评论 -
指针变量的运算
指针变量的运算 指针变量可以进行某些运算,但其运算的种类是有限的。 它只能进行赋值运算和部分算术运算及关系运算。1.指针运算符(1)取地址运算符& 取地址运算符&是单目运算符,其结合性为自右至左,其功能是取变量的地址。在scanf函数及前面介绍指针变量赋值中,我们已经了解并使用了&运算符。(2)取内容运算符*转载 2009-03-04 13:03:00 · 4047 阅读 · 0 评论 -
Endian的由来及big-edian 和little-endian
Endian的由来及big-edian 和little-endian转载:http://www.eygle.com/digest/2007/01/whats_mean_endian.html一、引子 在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达转载 2009-03-19 09:23:00 · 731 阅读 · 0 评论 -
动态库的Makefile.am编写
动态库 的 Makefile.am 编写sotest_SOURCES=sotest.c 〔定义 hello这个执行档所需要的原始文件。Eg: hello_SOURCES= hello.c main.c hello.h如果我们定义多个执行文件,则对每个执行文件都要定义相对的 filename_SOURCES。〕sotest_LDFLAGS=-L/usr/lib/mylibsot转载 2009-03-27 11:40:00 · 1554 阅读 · 0 评论 -
C++中extern “C”含义深层探索
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数转载 2009-04-22 16:54:00 · 575 阅读 · 0 评论 -
标准C处理类似INI配置文件的键值型文档
Linux下处理配置文档经常是个让人头痛的问题, 因为它不像Win32平台有INI文件处理的API或类对象, 这样, 我们就只能以字符流的方式来分析处理了, 下面的程序段实现了一个典型的处理配置文档的方法... /* 读取并处理键值型文档 */ char name[20]; byte age; char sex[8]; int PropertyConfigurator转载 2009-04-27 20:47:00 · 524 阅读 · 0 评论 -
C 读取配置文件函数
前言: 发现公司的读取配置文件有bug,于是也出于练手的目的,自己写了一个。源码如下:#include #include #include #include #include #include #include #include #include #include #define MAX_BUF转载 2009-04-28 08:54:00 · 747 阅读 · 0 评论 -
配置文件的读取,纯C代码
/*****************************strlist.h***************************/ #ifndef DS_STRING_LIST_H_ #define DS_STRING_LIST_H_ struct strlist_node { char key_[64]; //Store the data as key char value_[64]转载 2009-04-27 20:49:00 · 495 阅读 · 0 评论 -
MD5究竟是什么
MD5究竟是什么MD5是message-digest algorithm 5(信息-摘要算法)的缩写,被广泛用于加密和解密技术上,它可以说是文件的“数字指纹”。任何一个文件,无论是可执行程序、图像文件、临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有一个独一无二的MD5信息值,并且如果这个文件被修改过,它的MD5值也将随之改变。因此,我们可以通过对比同一文件的MD5值,来校验这转载 2009-07-20 15:44:00 · 1313 阅读 · 0 评论 -
strftime函数
strftime(format,timestamp) Parameter参数 Description描述 formatRequired. Specifies how to return the result: 必要参数。指定了返回结果的方法: %a - ab转载 2009-06-02 15:42:00 · 1279 阅读 · 0 评论 -
linux下的c库函数大全(增加了第二章)
linux下的(9php.com)c库函数大全(增加了第二章)来自一本绝版的(9php.com)书,虽然没有函数描述,但是最起码可以知道分类,就可以去 man 了[table=95%][tr][td][font=FixedSys]Linux C函数库参考手册第1章字符测试函数isalnum(测试字符是否为英文字母或数字)isalpha(测试字符是否为英文字母)转载 2009-06-02 17:36:00 · 1399 阅读 · 1 评论 -
C语言问题集-- 把 struct tm 或一个字符串转换成 time_t
原著:Steve Summit翻译:朱群英, 孙 云http://c-faq-chn.sourceforge.net/我知道库函数 localtime() 可以把 time_t 转换成结构 struct tm, 而 ctime() 可以把 time_t 转换成为可打印的字符串。怎样才能进行反向操作, 把 struct tm 或一个字符串转换成 time_t?转载 2009-06-02 17:51:00 · 1973 阅读 · 0 评论 -
hp unix下strptime的使用
楼主kongkuo(kongko)2006-01-04 17:13:37 在 Linux/Unix社区 / 程序开发区 提问struct tm tmpTm; strptime("20010101010101","%Y%m%d%H%M%S",&tmpTm)在solaris下可以把字符串转换为正确的时间,但是在hp unix下面这么写就不行了,在h转载 2009-06-02 20:18:00 · 918 阅读 · 0 评论 -
C语言中如何求任意一个int型数组的长度?
C语言中如何求任意一个int型数组的长度?来源:CSDN 作者:BMCRNET 发布时间:2008-1-9 人气:983 <!--google_ad_client = "pub-1466660535697685";/* 336x280, 创建于 08-5-7 */google_ad_slot = "8转载 2009-06-09 15:05:00 · 1774 阅读 · 0 评论 -
软件开发者面试百问
软件开发者面试百问 想雇到搞软件开发的聪明人可不容易。万一一不小心,就会搞到一堆低能大狒狒。我去年就碰到这种事了。你肯定不想这样吧。听我的,没错。在树上开站立会议门都没有。 问点有难度的问题能帮你把聪明人跟狒狒们分开。我决定把我自己整理出来的软件开发者面试百问发出来,希望能帮到你们的忙。 这个列表涵盖了软件工程知识体系中定义的大多数知识域。当然,如果你只想找转载 2009-02-14 11:58:00 · 488 阅读 · 0 评论 -
gdb中设置共享库断点问题
假设我的可执行程序是A,共享库为B.so 我用gdb调试A,想在B的某个源文件(比如C.cpp,C.cpp与A不在同一个目录下)中设置断点,使用下面的命令行 break C.cpp:123 提示说“No source file named C.cpp” 我尝试用下面各种方法设置C.cpp的路径也不行: 1. 使用gdb的-d参数 2.转载 2009-02-10 10:02:00 · 4927 阅读 · 0 评论 -
Emacs详细使用说明
Emacs详细使用说明 GNU Emacs 是 Emacs, 的版本之一,是由 Emacs, 的原始版本(PDP-10)的作者 Richard Stall原创 2008-12-29 11:17:00 · 1369 阅读 · 0 评论 -
C语言中位移位运算符
C语言中位移位运算符位移位运算符 位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。位移位运算符分为左移和右移两种,均为双目运算符。第一运算对象是移位对象,第二个运算对象是所移的二进制位数。 位移位运算符的运算对象、运算规则与结果、结合性如表2-16所示。 移位时,移出的位数全部丢弃,移出的空位补入的数与左转载 2009-01-08 11:00:00 · 1151 阅读 · 1 评论 -
C语言——extern声明的总结
C语言——extern声明的总结1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。 2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明原创 2009-01-08 15:06:00 · 905 阅读 · 0 评论 -
安装原码程序时,都要执行三步
安装原码程序时,都要执行三步:1./configure 2 make 3 make install他们是什么意思呀?configure要用到gcc或cc。但make时,需要什么? wxy 回复于:2002-02-03 13:08:12错。这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。./configure是用来检测你的安装平台的目标特征的。比如转载 2009-01-12 09:48:00 · 609 阅读 · 0 评论 -
malloc
函数声明(函数原型):void *malloc(int size); 说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。从函数声明上可以看出。malloc 和 new 至少有两个不同: new 返回指定类型的指针,并且可以自动转载 2009-01-12 11:23:00 · 561 阅读 · 0 评论 -
strtol()详解
转自http://hi.baidu.com/qwpsmile/blog/item/9bc44efa4f41018a9f514637.html今天,在review 一些代码的时候,看到了strtol()这个函数,由于以前使用它的时候,还没有深刻的了解,这次,我决定探个究竟。网上关于这个函数的资料大都来源于同份资料,linux库函数,讲的不够细致。于是,我花了几个小时,认真地尝试其功能,并整理了这转载 2009-01-13 10:20:00 · 2569 阅读 · 0 评论 -
C语言的代码规范探讨
C语言的代码规范探讨 来自CSDN论坛 caiyi9000 原作 我做C语言底层开发,积累了一些代码书写的经验供大家参考: 1.C语言书写规范 1.1符号命名规则 1.1.1符号名包括模块名转载 2009-01-13 11:14:00 · 646 阅读 · 0 评论 -
C的关键字——const的理解和用法
C的关键字——const的理解和用法 作者:lj_860603 阅读人次:21106 文章来源:本站原创 发布时间:2006-7-1 网友评论(21)条 进入原贴讨论:http://bbs.bccn.net/thread-66030-1-1.html关于C的关键字——const的理解和用法 const在C中的用法原创 2009-01-12 11:55:00 · 755 阅读 · 0 评论 -
atoi,atol,strtod,strtol,strtoul实现类型转换
atoi,atol,strtod,strtol,strtoul实现类型转换 2006-02-13 版权声明:转载时请以超链转载 2009-01-13 10:25:00 · 716 阅读 · 0 评论 -
字符串读写函数fgets和fputs
字符串读写函数fgets和fputs 一、读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针); 其中的n是一个正整数。表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志/0。例如:fgets(str,n,fp);的意义是从fp所指的文件中读出n-1个字符送入转载 2009-01-13 17:03:00 · 714 阅读 · 0 评论 -
(转)#define详解
1.1.#define的变体,即#ifndef,可以防止头头文件的重复引用#ifdef和 #define组合,一般用于头文件中,用以实现防止多个文件对此同一个头文件的重复引用.实际使用中,即使你的头文件暂时没有被多个文件所引用,为了增加程序可读性,移植性,健壮性等,还是最好都加上。其用法一般为:#ifndef #define ……… // include or def转载 2009-01-13 17:47:00 · 673 阅读 · 0 评论 -
sprintf()的snprintf()用法
sprintf()的snprintf()用法 复制内容到剪贴板代码:#include using namespace std;int main(){ char buf[100]; sprintf(buf, "%.*s", 4, "fluke"); printf("%s/n", buf)转载 2009-01-13 13:56:00 · 752 阅读 · 0 评论 -
#define 的特别用法
在分析u-boot源码发现这样的宏:/* * Macros to transform values * into environment strings. */#define XMK_STR(x) #x#define MK_STR(x) XMK_STR(x)从注释来看是把x转换成字符串。找到了相关的资料,解读了这个define,还顺便认识了另外两个不常用的define#define C原创 2009-02-05 09:38:00 · 677 阅读 · 0 评论 -
make的常见错误信息
GNU make中文手册-第十五章 make的常见错误信息第十五章 make的常见错误信息--------------------------------------------------------------------------------本章是对make执行过程中可能出现常见错误进行汇总、分析,并给出修正的可能方法。make执行过程中产生的错误并不是所有都是转载 2009-02-06 13:59:00 · 2001 阅读 · 0 评论 -
gdb命令手册
关于断点的命令:awatch:awatch用来为一个表达式设置观察点,在表达式的值发生改变时,或者当表达式的值被读取的时候,程序停止执行。break:用于在程序中设置断点 break + 要设置断点的行号clear:用于清除断点 clear + 要清除断点的行号commands:用于为遇到断点之后执行特定的指令而设置的 command + 断点号如果commands 之后没有断点号,gdb会将最后转载 2009-02-10 09:43:00 · 1044 阅读 · 0 评论 -
GBD调试程序(转)作者:Janlex
从CSDN的网站上找到的GDB使用说明。 原文标题:用GDB调试程序 作者:haoel (QQ是:753640,MSN是: [email protected]) 关键字:gdb 调试 c c++ gun 这篇文章非常好,所以转载了下来,作为收藏。GDB概述GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等转载 2009-02-10 10:48:00 · 2508 阅读 · 0 评论 -
使用 typedef 抑制劣质代码
使用 typedef 抑制劣质代码 作者:Danny Kalev 编译:MTT 工作室原文出处:Using typedef to Curb Miscreant Code摘要:Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。不管怎样,使用 typedef转载 2009-02-13 13:52:00 · 642 阅读 · 0 评论