![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
li4850729
这个作者很懒,什么都没留下…
展开
-
fprintf、stderr、strerror(errno)、strncpy和strcpy的用法
fprintf:http://baike.baidu.com/view/656682.htmstderr:http://baike.baidu.com/view/3233662.htmstrerror():http://baike.baidu.com/view/2015157.htmstrncpy和strcpy的比较:http://baike.baidu.com/view/120771原创 2012-04-09 19:01:05 · 1171 阅读 · 0 评论 -
contanier_of offsetof list_for_each list_for_each_entry
list_for_each与list_for_each_entry详解 一、list_for_each1.list_for_each原型#define list_for_each(pos, head) \ for (pos = (head)->next, prefetch(pos->next); pos != (head); \ pos = pos->next,原创 2014-06-19 15:08:16 · 663 阅读 · 0 评论 -
C++后加const详解
C++函数后加const的意义一些成员函数改变对象,一些成员函数不改变对象。例如:int Point::GetY() {return yVal; } 这个函数被调用时,不改变Point对象,而下面的函数改变Point对象:void Point:: SetPt(int x, int y) { xVal=x; yVal=y; } 为了使成员函数的意义更加清楚,我们可在不改变对象的成员函数的转载 2012-09-25 22:17:07 · 478 阅读 · 0 评论 -
C/C++中的static关键字
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:01.//Example 1转载 2012-10-27 22:27:01 · 892 阅读 · 0 评论 -
回调函数_用简单的例子解释
【转自】:http://wenku.baidu.com/link?url=1yADfdWCfdVptmoYU0LFfKpNR6TjhVJcOtd8D-yMko-YWUoJmNkQJ8psAhzxN5qTkFQ00d5jC6dc8xXvLazVNsCTzRD8lGVbABxDdCxD5TS转载 2014-09-23 23:16:36 · 676 阅读 · 0 评论 -
信号量与自旋锁
【转】:http://www.cppblog.com/huangjianfu/archive/2009/06/02/86530.html内核同步措施 为了避免并发,防止竞争。内核提供了一组同步方法来提供对共享数据的保护。 我们的重点不是介绍这些方法的详细用法,而是强调为什么使用这些方法和它们之间的差别。 Linux 使用的同步机制可以说从2.0到2.6以来不断发展完转载 2014-10-10 22:06:00 · 749 阅读 · 0 评论 -
【转】C/C++函数的系统调用的几种方式
【转自】:http://blog.csdn.net/sunshinewave/article/details/7981034#comments我们知道,调用函数时,计算机常用栈来存放函数执行需要的参数,由于栈的空间大小是有限的,在windows下栈是向低地址扩展的数据结构,是一块连续的内存区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,windows下栈的大小是2M(也转载 2015-07-22 18:27:13 · 3294 阅读 · 0 评论 -
C语言的深度解剖——读书笔记(基础语法)
auto:编译器在默认的缺省情况下,所有变量都是auto 的register:register 变量必须是能被CPU 寄存器所接受的类型。意味着register 变量必须是一个单个的值,并且其长度应小于或等于整型的长度。而且register 变量可能不存放在内存中,所以不能用取址运算符“&”来获取register 变量的地址 static修饰变量: 变量分为全局变量和局部变量,都存转载 2012-03-09 17:18:55 · 796 阅读 · 0 评论 -
最常见的20种VC++编译错误信息集合
转自:http://developer.51cto.com/art/200702/40039.htm 1、fatal error C1010: unexpected end of file while looking for precompiled header directive。寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include "stdafx.h")转载 2012-06-14 19:22:44 · 480 阅读 · 0 评论 -
【转】 LINUX内核中等待队列应用之深度剖析
【转】:http://blog.chinaunix.net/uid-21736802-id-1817632.html1. 等待队列数据结构等待队列由双向链表实现,其元素包括指向进程描述符的指针。每个等待队列都有一个等待队列头(wait queue head),等待队列头是一个类型为wait_queque_head_t的数据结构:struct __wait_queue_hea转载 2014-06-19 10:56:45 · 555 阅读 · 0 评论 -
关于Valgrind的使用
转自:http://blog.csdn.net/hanchaoman/article/details/5618034http://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/http://colding.bokee.com/4223264.htmlhttp://hi.baidu.com/asgznnuavmbsuzq/item/e转载 2012-10-27 01:08:46 · 464 阅读 · 0 评论 -
栈区和堆区内存非配区别
转自:http://blog.csdn.net/21aspnet/article/details/7436360#一直以来总是对这个问题的认识比较朦胧,我相信很多朋友也是这样的,总是听到内存一会在栈上分配,一会又在堆上分配,那么它们之间到底是怎么的区别呢?为了说明这个问题,我们先来看一下内存内部的组织情况.从上图可知,程序占用的内存被分了以下几部分.1、栈区(stack)转载 2012-04-08 10:38:20 · 527 阅读 · 0 评论 -
判断大小端模式:联合/强制类型转换
数据0XF432:----小端模式:x86的cpu在内存中存储的是0x32, 0xF4----大端模式:一些RISC架构的处理器在内存中存储的是0xF4, 0x32方法1:利用联合的特点。联合中的数据成员是共享存储空间的,所分配的空间为数据成员最大所需的内存数。程序定义了endian_un的联合体,其中包含两个数据成员,一个是short类型的数据成员var(32位系统为2字原创 2012-09-05 23:11:16 · 3083 阅读 · 0 评论 -
C++静态成员函数小结(转)
转自:http://www.cnblogs.com/lzjsky/archive/2011/01/24/1943199.html类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据转载 2012-09-25 22:05:22 · 469 阅读 · 0 评论 -
explicit
explicit C++ Specific This keyword is a declaration specifier that can only be applied to in-class constructor declarations. Constructors declared explicit转载 2012-10-18 23:32:11 · 500 阅读 · 0 评论 -
GDB调试汇总
http://www.360doc.com/content/12/1101/21/11033862_245176417.shtml 初识GDB GDB的出现减轻了开 发人员的负担,他们可以在程序运行的时候单步跟踪自己的代码,或者通过断点暂时中止程序的执行。此外,他们还能够随时察看变量和内存的当前状态,并监视关 键的数据结构是如何影响代码运行的。 调试转载 2012-11-01 21:17:19 · 2975 阅读 · 0 评论 -
段错误bug的调试 (
转自:http://blog.chinaunix.net/space.php?uid=317451&do=blog&id=92412我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让转载 2012-10-26 00:30:41 · 519 阅读 · 0 评论 -
信号量 互斥锁 条件变量的区别
http://blog.chinaunix.net/space.php?uid=23061624&do=blog&cuid=2127853信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlo转载 2012-11-04 21:42:48 · 621 阅读 · 0 评论 -
c++静态库与动态库的区别
【转自】:http://blog.csdn.net/mafuli007/article/details/8225045如果对Linux下静态链接库和动态链接库感兴趣,请狂点击 -->你懂的一,概念 1)静态链接库就是你使用的.lib文件,库中得代码最后需要连接到你的可执行文件中去,所以静态连接的可执行文件一般比较大一些。 使用方法转载 2015-07-22 18:41:11 · 415 阅读 · 0 评论