随笔分类 -  C

how to make c programing efficient .
归纳整理Linux下C语言常用的库函数----时间日期数学及算法
摘要:在没有IDE的时候,记住一些常用的库函数的函数名、参数、基本用法及注意事项是很有必要的。参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类:1. 内存及字符串控制及操作2. 字符串转换3. 字符测试4. 文件操作5. 时间日期6. 常用数学函数7. 文件内容操作8. 文件权限控制... 阅读全文

posted @ 2014-11-07 10:54 净坛使者 阅读(1230) 评论(0) 推荐(0) 编辑

归纳整理Linux下C语言常用的库函数----文件操作
摘要:在没有IDE的时候,记住一些常用的库函数的函数名、参数、基本用法及注意事项是很有必要的。参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类:1. 内存及字符串控制及操作2. 字符串转换3. 字符测试4. 文件操作5. 时间日期6. 常用数学函数7. 文件内容操作8. 文件权限控制... 阅读全文

posted @ 2014-11-06 12:35 净坛使者 阅读(5976) 评论(2) 推荐(0) 编辑

归纳整理Linux下C语言常用的库函数----字符串转换、字符测试、及内存控制
摘要:归纳总结系列。 阅读全文

posted @ 2014-11-05 18:47 净坛使者 阅读(798) 评论(0) 推荐(0) 编辑

归纳整理Linux下C语言常用的库函数----内存及字符串控制及操作
摘要:归纳整理系列。 阅读全文

posted @ 2014-11-05 16:58 净坛使者 阅读(1836) 评论(2) 推荐(0) 编辑

quicker+.em SourceInsight 宏加强版制作
摘要:这两天苦于新建的文件每次都要手动添加文件头,新建的函数每次都要手动添加函数说明,连.h也要手动生成。于是乎,上网搜了搜,发现了lushengwen写的一个神器:quicker.em。好家伙,有了这个东东,再也不用繁琐的手工敲咯~~~具体用法,大伙可以参考:http://blog.csdn.net/g... 阅读全文

posted @ 2014-06-25 12:37 净坛使者 阅读(5890) 评论(0) 推荐(0) 编辑

探究Linux进程及线程堆栈专题<一>
摘要:“你定义了那么多全局变量,系统才给你分配了几百KB,这样做是不是太耗内存了?”,一同学问道。 老早就听说嵌入式系统各种资源有限啊,不能分配大空间啊要注意节约资源之类的(。。。貌似米神4的配置要完爆我的thinkpad了。。。)。那是不是全局变量的使用真的会占用很大系统内存,而系统真的才分配几百... 阅读全文

posted @ 2014-06-24 15:00 净坛使者 阅读(2134) 评论(0) 推荐(0) 编辑

c语言实现常见字符串函数strchr strstr strcmp atoi itoi(字符串换成整数)
摘要:好久没有更新博客了,刚刚出炉练练手的程序如下,很简单,没有考虑过多复杂的东西,有好的想法,欢迎指教:字符查找函数:char *my_strchr(const char *s,int c){ char *pTemp = s; do { if(*pTemp == c) { return pTemp; } } while(*pTemp++); return NULL;}字符串比较函数:int my_strcmp(const char *s1,const char *s2){ char *pTem... 阅读全文

posted @ 2014-04-02 19:24 净坛使者 阅读(1075) 评论(0) 推荐(0) 编辑

关于进程exit后,内存释放释放的实践
摘要:最近碰到一个问题,或许也是小猿们都会碰到的问题:内存泄露。都知道malloc后需要free才能释放内存,shmat后需要shmdt才能断掉内存区并使用IPC_RMID命令删除共享内存。那么如果是当前进程exit后,这些东西还需要收到清理吗?进程退出会清理除打开的文件描述符外,还做些什么呢?代码:思路:在进程中申请内存空间不释放,进程退出,查看当期是否有内存释放 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 10 //在进程中申请内存空间不释放,进... 阅读全文

posted @ 2014-02-10 11:25 净坛使者 阅读(4177) 评论(9) 推荐(1) 编辑

《C语言基础日常笔记》
摘要:1. 类型转换-----------------20130902a, 浮点数(包括单精度与双精度)赋值给整型变量时,舍弃浮点数的小数部分,直接将其整数部分存放在整型变量里。b, 整型变量赋值给浮点数(包括单精度与双精度)时,数值不变,但会以浮点数形式保存到变量里。c, 将一个double型数据赋值给float型变量时,截取其前面7位有效数字,存放在float的存储单元中。d, 无符号char型赋值给整型变量时,则将其char型的8位直接放到int的低8位中,高8位补0。e, 有符号char赋值给int时,则将其char型的8位直接放到int的低8位中,如果字符最高位(即符号位)为1,高8位补1 阅读全文

posted @ 2013-09-02 10:32 净坛使者 阅读(427) 评论(0) 推荐(0) 编辑

实现系统函数time,获取当前时间与UTC的间隔
摘要:因种种原因,最近很少上cnblogs了。刚写了一个实现time的函数,可以通过该函数获取当前时间与1970年1月1日 0时0分0秒的差值,精确到秒,可以用在某些没有时候使用time不正确而不得不调用硬件时钟的场合。把其中HWCLOCK打开即可,关闭的话使用的是date获取的系统时间。其中打开时是应用在PPC架构的嵌入式linux上,具体源码如下:#include #include #include typedef unsigned short YEAR;typedef unsigned short MONTH;typedef unsigned short DAY;typedef unsigne 阅读全文

posted @ 2013-08-28 13:20 净坛使者 阅读(1726) 评论(1) 推荐(0) 编辑

泥淖--------------------大小端
摘要:声明:文章仅为个人总结所用,鄙人菜鸟,高手勿喷,欢迎批评指正。经常看到通过联合体Union来判断系统是大端还是小端,而大家的解释通常都是:“联合体union的存放顺序是所有成员都从低地址开始存放,解答利用该特性,轻松地获得了CPU对内存采用Little-endian还是Big-endian模式读写。”而我却始终没有找到这句话是出自哪本书。我知道unsigned short a = 0x1122在大端中存的话就是0x1122,而如果是在小端CPU上运行的话就是0x2211。疑问:1. 那么如果取a的低八位即a&0xff的话,是不是在大端中是0x22,而在小端中就是0x11呢?2. 那么如 阅读全文

posted @ 2013-08-02 18:02 净坛使者 阅读(942) 评论(10) 推荐(0) 编辑

关于malloc(0)的返回值问题--这两天的总结与实践篇
摘要:就像我在http://www.cnblogs.com/wuyuegb2312/p/3219659.html文章中评论的那样,我也碰到了被提问这个malloc(0)的返回值问题,虽然感觉这样做在实际中没有任何意义,但既然被提问到了,那总得给点答复。当时的回答是“返回一个NULL指针”。就像@五岳查看man结果的一样,我也查看了,malloc() allocatessizebytes and returns a pointer to the allocated memory. The memory is notcleared. Ifsizeis 0, then malloc() returns e 阅读全文

posted @ 2013-07-29 13:00 净坛使者 阅读(25207) 评论(47) 推荐(5) 编辑

<一道题>abc+cba=1333,求满足条件的abc的值,隐含条件a!=0,c!=0
摘要:这类东西,无非就是穷举法。见下面代码:#include #include /**abc + cba = 1333 **a = ?*b = ?*c = ?*/int main(int argc ,char **argv){ int a=0; int b=0; int c=0; int index = 0; printf("abc + cba == 1333\n"); for(a = 1 ; a <= 9 ; a++)//a [1,9] { for(b = 0 ; b <= 9; b++)//b [0,9] { ... 阅读全文

posted @ 2013-07-26 09:46 净坛使者 阅读(960) 评论(2) 推荐(0) 编辑

<一道题>求1 + 2! + 3! + .... + N!
摘要:一道小题,╮(╯▽╰)╭#include /*jie cheng** 1 + 2! + 3! + ... + N!***/int factorial(int val){ if(val > 1) { //printf("val %d\t",val); return val*factorial(val - 1); } else if(val == 1) { return 1; } }int main(int argc, char **argv){ int val = 0; printf("ple... 阅读全文

posted @ 2013-07-25 15:52 净坛使者 阅读(259) 评论(7) 推荐(0) 编辑

<系统函数实现>memcmp
摘要:这是我实现的memcmp函数: 1 #include 2 #include 3 /* 4 *int memcmp (const void *s1,const void *s2,size_t n); 5 *º¯Êý˵Ã÷ 6 *memcmp()ÓÃÀ´±È½Ïs1ºÍs2ËùÖ¸µÄÄÚ´æÇø&# 阅读全文

posted @ 2013-07-24 15:00 净坛使者 阅读(817) 评论(0) 推荐(0) 编辑

Shell 脚本基本操作练习
摘要:这里主要是熟悉了shell的基本操作,包括变量赋值引用修改、函数的使用、信号的获取及一些判断方法等,具体详见代码:#!/bin/shstr="Hello World !"echo "${str}aha"#''echo '$str'#file nameecho "the name of this shell script is $0"#first parameter , $1---$Necho "the first parameter is $1"#all of the paramet 阅读全文

posted @ 2013-07-19 16:30 净坛使者 阅读(832) 评论(0) 推荐(1) 编辑

Unix 环境高级编程---线程创建、同步、
摘要:一下代码主要实现了linux下线程创建的基本方法,这些都是使用默认属性的。以后有机会再探讨自定义属性的情况。主要是为了练习三种基本的线程同步方法:互斥、读写锁以及条件变量。#include #include #include #include int g_count = 0;pthread_mutex_t mutex_lock;pthread_rwlock_t rw_lock;pthread_cond_t con_val = PTHREAD_COND_INITIALIZER;typedef enum { MutexLock = 0, RWLock, CondLock}Lock... 阅读全文

posted @ 2013-07-19 13:42 净坛使者 阅读(789) 评论(2) 推荐(0) 编辑

逻辑运算的结果与逻辑运算中判断变量是否为真的区别
摘要:C语言编译系统在表示 逻辑运算 的 结果 时, 以数值 1 表示 “真” , 以数值 0 表示 “假”。但在 判断 一个量是否为“真”时,以 0 代表 “假”,以非0代表“真”。例程:#include <stdio.h>void Print(int value){ if(value) { printf(" %d is true !!!\n",value); } else { printf(" %d is false !!!\n",value); }}int main(int argc, char **argv){ ... 阅读全文

posted @ 2013-06-14 15:38 净坛使者 阅读(712) 评论(0) 推荐(0) 编辑

Linux 下 简单客户端服务器通讯模型(TCP)
摘要:服务器端:server.c#include<stdio.h>#include<stdlib.h>#include<errno.h>#include<string.h>#include<sys/socket.h>#include<sys/types.h>#include <stdio.h>#include <unistd.h>#include <netdb.h>#include <netinet/in.h>#define ServerPort 6080#define MaxUs 阅读全文

posted @ 2013-06-05 16:02 净坛使者 阅读(1246) 评论(0) 推荐(0) 编辑

导航