![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c编程
文章平均质量分 78
sandflee
这个作者很懒,什么都没留下…
展开
-
把字符串转换成整数
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。 分析:这道题尽管不是很难,学过C/C++语言一般都能实现基本功能,但不同程序员就这道题写出的代码有很大区别,可以说这道题能够很好地反应出程序员的思维和编程习惯,因此已经被包括微软在内的多家公司用作面试题。建议读者在往下看之前自己先编写代码,再比较自己写的代码和下面的参考代码有哪些不同。转载 2009-02-18 14:31:00 · 9278 阅读 · 7 评论 -
linux下的调试工具
转载时请注明出处和作者联系方式文章出处:http://www.limodev.cn/blog作者联系方式:李先静 随着XP的流行,人们越来越注重软件的前期设计、后期的实现,以及贯穿于其中的测试工作,经过这个过程出来的自然是高质量的软件。甚至有人声称XP会淘汰调试器!这当然是有一定道理的,然而就目前的现实来看,这还是一种理想。在日常工作中,调试工具还是必不可少的。在Linux下,调试工具原创 2010-01-07 12:09:00 · 189 阅读 · 0 评论 -
浅析container_of(ptr, type, member)
浅析container_of(ptr, type, member)文章来源:http://gliethttp.cublog.cn#define container_of(ptr, type, member) ({ / const typeof( ((type *)0)->member ) *__mptr = (ptr); / (t转载 2010-01-07 11:52:00 · 284 阅读 · 0 评论 -
一个问题
调试一个socket程序,服务器端总是显示有内存错误,通过core文件分析,发现fclose时调用free,会引发一个段错误,难道函数库的bug让哥们我遇到了,不至于吧,于是查看fclose系统调用,左看右看愣是没找到。突然想到这个函数在客户端也调用了,也没出什么bug,!!!!!!!!曾经有一个bug,在客户端调试的时候改了,当时也懒,没改服务端的代码,结果查了半天才找到。 有没原创 2010-01-05 21:14:00 · 270 阅读 · 0 评论 -
gdb调试多线程
GDB 多线程调试基本命令 实现简介 以及一个问题的解决 teawater@gmail.com 一直对GDB多线程调试接触不多,最近因为工作有了一些接触,简单作点记录吧。 先介绍一下GDB多线程调试的基本命令。 info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。转载 2010-01-07 11:27:00 · 5343 阅读 · 0 评论 -
__FILE__,__LINE__,FUNCTION__实现代码跟踪调试linux
转自http://www.cnitblog.com/zouzheng/archive/2007/08/31/32691.html先看下简单的初始代码:注意其编译运行后的结果。root@xuanfei-desktop:~/cpropram/2# cat global.h //头文件#ifndef CLOBAL_H #define GLOBAL_H转载 2010-01-04 21:21:00 · 405 阅读 · 0 评论 -
linux下mmap的使用
http://blog.csdn.net/adcxf/archive/2009/03/14/3989725.aspx共 享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空 间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量转载 2010-02-28 20:44:00 · 8658 阅读 · 0 评论 -
http://blog.chinaunix.net/u/33048/showart_1678213.html
Linux内核IP Queue机制的分析(一)——用户态接收数据包 序 笔者将会通过包括本文在内的三篇文章,对IP Queue机制从用户态的应用到内核态的模块程序设计进行分析。三篇文章的题目分别是:Linux内核IP Queue机制的分析(一)——用户态接收数据包Linux内核IP Queue原创 2010-02-02 13:59:00 · 1290 阅读 · 0 评论 -
GNU C LIB
自由的歌谣 本书是自由软件丛书的一部分,也是一首自由的歌谣。 本书中阐述的GNU C库,定义了所有在ISO C标准所规定的,以及POSIX标准、其它相关标准和UNIX系统所派生的标准中定义的所有函数,为GNU操作系统所支持。 C程序设计语言提供诸如输入/输出、转载 2009-12-03 23:31:00 · 1220 阅读 · 0 评论 -
fork vfork clone pthread_create
进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合,这些资源在Linux中被抽象成各种数据对象:进程控制块、虚存空间、文件系统,文件I/O、信号处理函数。所以创建一个进程的过程就是这些数据对象的创建过程。 在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性,但是二者之间的通讯需要通过专门的通讯机制转载 2010-01-14 12:31:00 · 2129 阅读 · 1 评论 -
some c questions
几个有意思的C相关题目 1. When computing the square root of 2 by one variant of Newtons method, you were surprised to find that the result printed was 1.5. Whats the mistake?原创 2009-09-01 12:25:00 · 279 阅读 · 1 评论 -
unix编程心得
前些天看了APUE中的文件操作部分,感觉对文件的操作就是对一些数据结构的操作,而所谓的API就是操作这些数据结构的模块化接口,看LDD亦有此感,这不也是C++ 中类的思想吗。 有人说算法设计的核心是数据结构,今天终于有了点感觉。用C写一个网络仿真的程序,翻来覆去就是对自己定义的数据结构的操作,写的过程中也感觉到c的不足,用C++写会好很多,但鉴于自身的C++水平,还是用c原创 2009-05-30 22:12:00 · 270 阅读 · 0 评论 -
GNU C make指南
本文将首先介绍为什么要将你的C源代码分离成几个合理的独立档案,什么时 候需要分,怎么才能分的好。然后将会告诉你 GNU Make 怎样使你的编译和连 接步骤自动化。对于其它 Make 工具的用户来说,虽然在用其它类似工具时要 做适当的调整,本文的内容仍然是非常有用的。如果对你自己的编程工具有怀 疑,可以实际的试一试,但请先阅读用户手册。 i) 不要用一个 header 文件指向多个转载 2009-07-29 16:53:00 · 243 阅读 · 0 评论 -
嵌入式c面试
C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这个愚蠢的问题吗?如要你答出某个字符的转载 2009-07-29 16:37:00 · 225 阅读 · 0 评论 -
sizeof and strlen
先看看sizeof()一、sizeof的概念sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。其实可以简单的理解sizeof是征对"类型"的。二、sizeof的使用方法 1、用于数据类型 sizeof使用形式:转载 2009-04-21 21:36:00 · 245 阅读 · 0 评论 -
gcc生成.a静态库和.so动态库
我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本文主要通过举例来说明在Linux中如何创建静态库和动态库,以及使用它们。在创建函数库前,我们先来准备举例用的源程序,并将函数库的源程序编译转载 2010-01-09 22:38:00 · 705 阅读 · 0 评论