上一页 1 2 3 4 5 6 7 8 9 10 ··· 23 下一页

2014年2月19日

signal.h中的宏定义SIG_DFL及SIG_IGN

摘要: SIG_DFL,SIG_IGN 分别表示无返回值的函数指针,指针值分别是0和1,这两个指针值逻辑上讲是实际程序中不可能出现的函数地址值。SIG_DFL:默认信号处理程序SIG_IGN:忽略信号的处理程序下面是一个指针值测试实例:#include #define SIG_DFL ((void(*)(int))0)#define SIG_IGN ((void(*)(int))1)int main() { int a = (int) SIG_DFL; int b = (int) SIG_IGN; printf("a = %d/n", a); //0 printf("b 阅读全文

posted @ 2014-02-19 10:40 屁屁侠 阅读(28987) 评论(0) 推荐(0) 编辑

#define SIG_DFL ((void(*)(int))0)

摘要: 在linux内的信号处理函数中,有#define SIG_DFL ((void(*)(int))0)和#define SIG_IGN ((void(*)(int))1)两个宏定义。要理解这两个宏定义,我们先要知道signal函数的运行机制。首先我们看看该函数的原型声明,如下:void (*signal (int signr,void (*handler)(int))) (int)signal函数有两个参数,一个是指定需要捕获的信号signr;另外一个是新的信号处理函数指针void (*handler)(int)。注意,新的信号处理句柄或者说是新的信号处理函数是一个无返回值且具有一个整型参数的函 阅读全文

posted @ 2014-02-19 10:20 屁屁侠 阅读(2912) 评论(0) 推荐(1) 编辑

2014年2月18日

pthread之线程堆栈

摘要: 转:http://blog.csdn.net/horstlinux/article/details/7666032//先来讲说线程内存相关的东西,主要有下面几条://进程中的所有的线程共享相同的地址空间。//任何声明为static/extern的变量或者堆变量可以被进程内所有的线程读写。//一个线程真正拥有的唯一私有储存是处理器寄存器。//线程栈可以通过暴露栈地址的方式与其它线程进行共享。// 有大数据量处理的应用中,有时我们有必要在栈空间分配一个大的内存块或者要分配很多小的内存块,但是线程的栈空间的最大值在线程创建的时候就已经定下来了,如果栈的大小超过个了个值,系统将访问未授权的内存... 阅读全文

posted @ 2014-02-18 18:39 屁屁侠 阅读(2502) 评论(0) 推荐(0) 编辑

2014年2月17日

strrchr()函数

摘要: 函数简介函数名称: strrchr函数原型:char *strrchr(const char *str, char c);所属库: string.h函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回从字符串中的这个位置起,一直到字符串结束的所有字符。如果未能找到指定字符,那么函数将返回NULL。相关函数:strchr例子1234567891011121314#include #include int main(void){char string[20];char *ptr, c = 'r';strcpy(st 阅读全文

posted @ 2014-02-17 18:33 屁屁侠 阅读(610) 评论(0) 推荐(0) 编辑

关于一点pthread_cond_t条件锁的思考以及实验

摘要: 转:http://blog.csdn.net/aniao/article/details/5802015APUE上,关于条件锁。其中有这么几条总结:1.使用条件锁前必须先锁住对应的互斥锁。2.条件锁进入阻塞(pthread_cond_wait)时自动解开对应互斥锁,而一旦跳出阻塞立即再次取得互斥锁,而这两个操作都是原子操作。好,现在考虑到这一点,假如有如下函数:void* run(void *s){ pthread_mutex_lock(&mutex); while(i == 1) { printf("线程%u进入等待状态\n", (unsigned int)p.. 阅读全文

posted @ 2014-02-17 16:19 屁屁侠 阅读(5411) 评论(0) 推荐(2) 编辑

2014年1月17日

C++用new和不用new创建类对象区别

摘要: 起初刚学C++时,很不习惯用new,后来看老外的程序,发 现几乎都是使用new,想一想区别也不是太大,但是在大一点的项目设计中,有时候不使用new的确会带来很多问题。当然这都是跟new的用法有关的。 new创建类对象,使用完后需使用delete删除,跟申请内存类似。所以,new有时候又不太适合,比如在频繁调用场合,使用局部new类对象就不是个 好选择,使用全局类对象或一个经过初始化的全局类指针似乎更加高效。一、new创建类对象与不new区别下面是自己总结的一些关于new创建类对象特点:new创建类对象需要指针接收,一处初始化,多处使用 new创建类对象使用完需delete销毁 new创建对象直 阅读全文

posted @ 2014-01-17 18:46 屁屁侠 阅读(1014) 评论(0) 推荐(0) 编辑

C++用new来创建对象和非new来创建对象的区别

摘要: 转:http://www.cnblogs.com/GODYCA/archive/2013/01/10/2854777.html我们都知道C++中有三种创建对象的方法,如下:#include using namespace std;class A{private: int n;public: A(int m):n(m) { } ~A(){}};int main(){ A a(1); //栈中分配 A b = A(1); //栈中分配 A* c = new A(1); //堆中分配 delete c; return 0;}第一种和第二种... 阅读全文

posted @ 2014-01-17 18:39 屁屁侠 阅读(491) 评论(0) 推荐(0) 编辑

C++之创建对象时的new与不new

摘要: http://blog.csdn.net/cscmaker/article/details/7019977C++在创建对象的时候可以采用两种方式:(例如类名为Test) Test test 或者 Test* pTest = new Test()。 这两种方法都可以实例化一个对象,但是这两种方法有很大的区别,区别在于对象内容所在的内存空间不同,众所周知,内存的分配方式有三种 (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。 (2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函... 阅读全文

posted @ 2014-01-17 18:34 屁屁侠 阅读(559) 评论(0) 推荐(0) 编辑

Android NDK之二:创建NativeActivity

摘要: 转:http://blog.csdn.net/xiruanliuwei/article/details/7560914AndroidNDK为我们提供了两种方式来实现我们的nativeactivity: 1、Thenative_activity.hheaderdefinesthenativeversionoftheNativeActivityclass.Itcontainsthecallbackinterfaceanddatastructuresthatyouneedtocreateyournativeactivity.Becausethemainthreadofyourapplication. 阅读全文

posted @ 2014-01-17 17:37 屁屁侠 阅读(5100) 评论(0) 推荐(0) 编辑

Android NDK之一:什么是NDK?

摘要: 转:http://blog.csdn.net/xiruanliuwei/article/details/7560798WhatistheNDK?TheAndroidNDKisatoolsetthatletsyouembedcomponentsthatmakeuseofnativecodeinyourAndroidapplications.AndroidNDK是一个工具集,它让我们能够在Android应用程序中使用由本地代码(nativecode)编写的代码模块。AndroidapplicationsrunintheDalvikvirtualmachine.TheNDKallowsyoutoim 阅读全文

posted @ 2014-01-17 17:36 屁屁侠 阅读(4407) 评论(0) 推荐(1) 编辑

上一页 1 2 3 4 5 6 7 8 9 10 ··· 23 下一页

导航