C语言
文章平均质量分 64
碎片记录
这个作者很懒,什么都没留下…
展开
-
Linux C中段错误
【IT168 技术】 1.什么是段错误? 所谓的段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt 是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及转载 2012-12-21 10:24:04 · 483 阅读 · 0 评论 -
C语言字符串操作总结大全(超详细)
本文转自:点击打开链接 http://www.jb51.net/article/37410.htm1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1)转载 2014-02-20 10:11:47 · 745 阅读 · 0 评论 -
memcpy和memmove的区别
memcpy和memmove的区别 memcpy()和memmove()都是C语言中的库函数,在头文件string.h中,其原型分别如下: void *memcpy(void *dst, const void *src, size_t count);void *memmove(void *dst, co转载 2014-07-31 23:33:09 · 576 阅读 · 0 评论 -
字符串 处理的几个方法
字符处理的几个方法/**函数功能:从一段存放内存中读取某个字符第count次出现的地址 并返回*输入参数:*pHead:待查找起始地址 len:待查找内存块长度 *Delim: 待查证的字符 count: 第count次出现返回值:NULL:读取失败; 有效地址:读取成功zhu 20140415 */u原创 2014-07-31 23:17:46 · 767 阅读 · 0 评论 -
memcopy, memset, strcopy, strncpy用法总结
memcpy原型:extern void *memcpy(void *dest, void *src, unsigned int count);用法:#include功能:由src所指内存区域复制count个字节到dest所指内存区域。说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。可以拿它拷贝任何数据类型的对象。 举例:ch转载 2014-07-31 23:39:32 · 782 阅读 · 0 评论 -
对字符数组,字符指针,字符串常量以及其sizeof的一些总结
对字符数组,字符指针,字符串常量以及其sizeof的一些总结在网上经常看到一些类似字符串或者sizeof等的公司笔试题,鄙人不才,但也作了一些总结,这些总结都是在vc2003下测试得到的结果,如果不对,请指出。1.以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符,如在代码中写 "abc",那么编译器帮你存储的是"abc/0"2."abc"是常量吗?转载 2014-07-31 23:48:10 · 831 阅读 · 0 评论 -
STM32 ADC用到的 抗脉冲滤波算法
先介绍一下算法的基本思想原创 2014-07-31 22:46:16 · 7820 阅读 · 2 评论 -
memmove
相关函数: bcopy(), memccpy(), memcpy(), strcpy(), strncpy()表头文件: #include 定义函数: void *memmove(void *dest, const void *src, size_t n);函数说明: memmove()与memcpy()一样都是用来拷贝src所指的内存内容前n个字节到dest所指的地址上。不同的是转载 2014-07-31 23:35:12 · 506 阅读 · 0 评论 -
memmove 和memcpy
1.memmove函数原型:void *memmove(void *dest, const void *source, size_t count)返回值说明:返回指向dest的void *指针参数说明:dest,source分别为目标串和源串的首地址。count为要移动的字符的个数函数说明:memmove用于从source拷贝count个字符到dest,如果目标区域转载 2014-07-31 23:36:12 · 606 阅读 · 0 评论 -
常量指针和指针常量
一、可能的组合: (1)const char*p (2)char const*p (3)char *const p (4)const char **p (5)char const**p (6)char *const *p (7)char **const p 当然还有在(5)、转载 2014-07-31 23:45:46 · 619 阅读 · 0 评论 -
关于c 语言的__TIME__ __DATE__宏定义
const char* time = __TIME__ " "__DATE__ ; 则time 值为该源文件最近一次编译的时间和日期,如18:10:14 Mar 16 2011 如果去掉中间的空格字符 __TIME__ __DATE__ 则为18:10:14Mar 16 2011 一个简单易用的时间显示,今天看到,记原创 2014-08-30 08:18:06 · 6363 阅读 · 0 评论 -
C语言运算符优先级 详细列表
C语言运算符优先级 详细列表优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名转载 2014-02-17 10:56:59 · 674 阅读 · 0 评论 -
关于STM32 uC/OS-II中任务调度和串口丢数据的原因
贴上代码,记录遇到的问题:这部分代码只是记录调试遇到的问题,和当时的一些想法,欢迎拍砖。void uart4_task(void *pdata){ //INT8U RxBuffer1[MAX_SERIAL_LEN4];//UART3D 接收缓存数组是全局的和局部的效果一样 unsigned char i=0,RxCounter1=0,checksum=0; unsign原创 2014-02-10 21:05:24 · 3804 阅读 · 0 评论 -
linux fork函数的精辟解说
【IT168 技术】 #include ; #include ; main () { pid_t pid; pid=fork(); if (pid printf("error in fork!"); else if (pid == 0) printf("i am the child process, my process id is %dn转载 2012-12-21 10:29:51 · 473 阅读 · 0 评论 -
Linux内核系统之安全入侵侦察解析
【IT168 技术】Linux内核安全随着Linux系统的流行,也就越来越受到大家的关注,这里向大家介绍LIDS也就是Linux内核安全入侵侦察系统。看看Linux内核存在哪些问题,LIDS又能为我们带来哪些方面特点。 LIDS( Linux入侵侦察系统是Linux内核补丁和系统管理员工lidsadm),它加强了Linux内核。它在内核中实现了一种安全模式 -- 参考模式以及内核中的Mand转载 2012-12-21 10:30:52 · 783 阅读 · 0 评论 -
Linux环境下的 make和makefile详解
【IT168 技术】 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install.利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的转载 2012-12-21 10:27:46 · 570 阅读 · 0 评论 -
Linux操作系统的安全模块要点分析
Linux 面临的威胁主要有DoS 攻击、本地用户获取非授权的文件的读写权限、远程用户获得特权文件的读写权限、远程用户获得root 权限等。 可采用以下措施进行预防: (1)删除所有的特殊账户,包括lp、shutdown、halt、news、uucp、operator、games、gopher 等。 可参考以下命令: [root@redhat root]# userdel转载 2012-12-21 10:32:02 · 744 阅读 · 0 评论 -
关于codewarrior调试出现illegal BP的问题解决过程(转载)
昨天两位工程师调试同时出现这个问题,网上对于illegal BP的解决方法讲解的很模糊,没有一个具体的指导方针。我试着阐述我们问题的解决过程,希望对大家解决类似情况可以起到抛砖引玉的作用。 两位工程师同时出现该问题,但由于负责不同的功能,并且互相独立,可以判断是不同的问题引起的。 通过单步运行(step over),工程师J发现当进入某个子函数时,对某个指针指向的变量清零时出错转载 2012-12-21 09:54:29 · 4860 阅读 · 1 评论 -
MDK 编译文件大小说明(Program Size)(转)
ARM编译中的RO、RW和ZI DATA区段2008-12-17 14:58ARM程序(指在ARM系统中正在执行的程序,而非保存在ROM中的bin文件)的组成一个ARM程序包含3部分:RO段,RW段和ZI段RO是程序中的指令和常量RW是程序中的已初始化变量ZI是程序中的未初始化的变量由以上3点说明可以理解为:RO就是readonly,RW就是read转载 2013-10-18 14:49:41 · 1929 阅读 · 0 评论 -
C语言数据类型的表示范围
1、C和C++语言中基本的数据类型有:字符型(char),整形(short, int, long), 浮点型(float, double) 类型字节数类型字节数char1short2int根据系统而定,可能是2或4long转载 2013-11-21 11:56:08 · 1409 阅读 · 0 评论 -
MDK常见报错
工作后从单片机转成ARM,刚开始用ADS1.2编译器,用了一段时间,因为我接手的项目的老程序正是用ADS编译的,部门也大都在用.在学单片机的时候用的是keil c51编译器,ads和这个编译器在易用性上真是无法比较.后来渐渐知道keil已经被arm公司收购,现在keil MDK成为了arm官方编译器,所以决定重新投奔keil,利用平时的时间,将原程序重新用mdk编译.mdk的优点就没必要说了,在这转载 2013-11-12 15:17:02 · 1045 阅读 · 0 评论 -
RCC时钟设置和SYSTICK的疑问
最近在调试RCC时钟设置和SYSTICK的疑问,首先通过SYSTICK设置10ms一次的中断,使用这样的方式设置延时函数,这样是可以做到很精确的延时的,我的主函数代码如下:这样运行结果是想要的,每一秒PB8电平翻转一次,OK.但是当我想加入其它的时钟初始化时,比如系统里的各种时钟模块的初始化, 各种时钟模块的时钟开启后, 就影响了上面那个精确延时的运行, 是的上面的程序不是原创 2014-01-12 14:22:35 · 2123 阅读 · 2 评论 -
stm32串口中断收发数据环形缓冲区的设计
/******************************************************************************** Function Name : USART2_IRQHandler* Description : This function handles USART2 global interrupt request.* Input原创 2014-02-11 11:51:51 · 10677 阅读 · 2 评论 -
GSM PDU 7bit短信编码与解码
通过ASCII码对GSM PDU 7bit短信编码原创 2014-07-31 22:51:43 · 3784 阅读 · 2 评论