C/C++
文章平均质量分 70
jyoxun
这个作者很懒,什么都没留下…
展开
-
LINUX下每进程限制线程数量
参考:http://stackoverflow.com/questions/344203/maximum-number-of-threads-per-process-in-linux 理论上相关限制的配置文件为:/proc/sys/kernel/threads-max/proc/sys/vm/max_map_count 实际上最大线程数计算为:number ...原创 2013-07-23 13:00:33 · 632 阅读 · 0 评论 -
evolution 使用GAsyncResult实现异步执行的例子
下面相关代码主要功能是:在网络连接时,evolution发出准备联接信号,前端通知后端evolution-data-server进行长时逻辑,待后端逻辑处理完成后,前端收尾函数被自动调用。 这段代码主要几个知识点:1.使用GSimpleAsyncResult进行异步操作。2.使用g_object_add_toggle_ref进行引用趋势判断。由于前端无法知道evolut...原创 2012-06-15 17:59:05 · 436 阅读 · 0 评论 -
GDB常用调试命令
一、多线程调试多线程调试可能是问得最多的。其实,重要就是下面几个命令:info thread 查看当前进程的线程。thread <ID> 切换调试的线程为指定ID的线程。break file.c:100 thread all 在file.c文件第100行处为所有经过这里的线程设置断点。set scheduler-locking off|on|step,这个是问得...原创 2012-06-01 11:47:33 · 87 阅读 · 0 评论 -
为什么要重载new?
转载自:http://www.cnblogs.com/juncheng/archive/2009/11/12/1602165.html 为什么要重载new? 作者 ariesram 电子邮件地址 [email protected], 或 [email protected] 本文及本人所有文章均收集在bambi.may10.ca/~ariesram/articles/中。 ...原创 2011-04-07 00:23:10 · 150 阅读 · 0 评论 -
如何让程序临时获得root权限代码
使用getuid()/setuid()函数,让程序临时获得root权限代码:/* * gcc -g -o test-uid test-uid.c * chown root.root ./test-uid * chmod 4755 ./test-uid * ls -al /var * */#include<stdio.h>#include<unis...2010-11-08 11:50:35 · 1797 阅读 · 0 评论 -
程序间通信:FIFO
参考自:http://publib.boulder.ibm.com/infocenter/zos/v1r10/index.jsp?topic=/com.ibm.zos.r10.bpxbd00/rtmkf.htm 程序间通信可以使用命名管道FIFO,在硬盘中建立管道文件。具体实例如下: /** *gcc -g -o fifo_w fifo_w.c `pkg-config ...原创 2011-06-03 15:57:22 · 90 阅读 · 0 评论 -
判断程序实例是否已经运行的N种方法(判断窗口已经运行)
对于某些情况,我们可以通过判断窗口是否正在运行来保证只有一个程序实例运行。下面是判断窗口是否正在运行的代码段: #define MYWINDOW_SELECTION_FMT "MYWINDOW_SELECTION_DISPLAY_%d"gbooleanmywindow_check_is_running(Window *xid){ const gchar *d...原创 2010-10-19 11:36:56 · 220 阅读 · 0 评论 -
学会用core dump调试程序错误
转载自:http://blog.csdn.net/wen0006/archive/2009/02/28/3945845.aspx 最来在项目中遇到大型程序出现SIGSEGV ,一直不知道用core dump工具来调试程序,花了近一周的时间,才定位问题,老大很生气,后果很严重,呵呵,事后仔细学习了这块的知识,了解一点core dump的知识。 在使用...原创 2011-01-18 14:30:52 · 91 阅读 · 0 评论 -
如何为C项目添加国际化po文件
当你写好C项目,并且在代码中添加完类似_("translate this words")这样的前期工作后。我们就可以开始准备为项目添加po文档了。假设项目结构如下:.|-src|-po|-docs|-test1. 将src目录下需要翻译的C文件列表生成到po目录下find src/ -name "*.c" >po/POTFILEE.in...原创 2011-01-14 16:23:43 · 847 阅读 · 0 评论 -
C语言字符串操作函数
引用自:http://www.cnblogs.com/JCSU/articles/1305401.html 1. 字符串反转 - strRev2. 字符串复制 - strcpy3. 字符串转化为整数 - atoi4. 字符串求长 - strlen5. 字符串连接 - strcat6. 字符串比较 - strcmp7. 计算字符串中...原创 2011-01-11 18:24:46 · 86 阅读 · 0 评论 -
howto print time log for application
#include <sys/time.h>#include <sys/types.h>static FILE *log;static int first_time = 1;struct timeval start;void open_log(const char *logfile){ log = fopen(logfile, "w"...原创 2011-04-21 12:05:14 · 51 阅读 · 0 评论 -
Get disk physical size by ioctl
code:/* * gcc -g -o run-as-root run-as-root.c * chown root.root ./run-as-root * chmod 4755 ./run-as-root * * */#include <stdio.h>#include <unistd.h>#include <fcntl.h&...原创 2010-12-29 13:56:58 · 85 阅读 · 0 评论 -
定位错误:glibc detected :double free or corruption (!prev): 0x08a03b88
参考自:http://topic.csdn.net/u/20090812/15/43cae1c5-938d-4dac-a5f2-192f262d30f5.html 定位free/malloc的位置和参数,可以在对应的.cpp/.h文件中添加: #include <stdio.h>#include <stdlib.h>void *...原创 2010-06-21 17:54:06 · 490 阅读 · 0 评论 -
初始化const, static, const static, static const成员变量
引用自:http://www.cppblog.com/leetaolion/archive/2009/01/10/71651.html class MyTestClass{public: MyTestClass() : m_ciInt(1), m_csStr("MyStr") // const成员变量,在ctor参数列表中初始化 {}public:...原创 2012-06-29 11:20:06 · 75 阅读 · 0 评论 -
c/c++ 中的传值调用和传引用
// Reference.cpp// Different between pass by Reference and pass between value#include <iostream>using namespace std;void f(int&, int);main(){ int i = 0, j = 0; ...原创 2012-06-29 11:23:23 · 123 阅读 · 0 评论 -
WONE团队开发历程:网游类手机游戏战略与投资风投寻找
WONE团队开发历程:网游类手机游戏战略与投资风投寻找 ----记在投资寻找之路中 如今的手游市场正所谓方兴未艾,各路资本和团队都蜂拥而至。如何在这残酷的绞杀之中突围,成了摆在所有团队和投资者中间的一道难题。其实,问题的症结还是在游戏本身,传统的单机手游或者半实时的RPG和策略类手机网游已经没有出路,未来的主宰必然是如PC端网游的高实时性手机网游。由于一定的技术门槛,当前和在未来一段时...原创 2013-07-21 12:25:05 · 293 阅读 · 0 评论 -
寻找ubuntu下的core dump 文件
1. 打开系统core dump设定ulimit -c unlimited ulimit -a 2. 查看core dump生成方式socol@ubuntu:~$ cat /proc/sys/kernel/core_pattern|/usr/share/apport/apport %p %s %c 3. 运行一个crash程序socol@ubuntu:...原创 2013-07-11 11:19:03 · 1039 阅读 · 2 评论 -
关于socket阻塞与非阻塞情况下的recv、send、read、write返回值
引用自:http://bbs.csdn.net/topics/300228648 1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 <0:出错,=0:连接关闭,>0接收到数据大小,特别:返回值 <0时并且(errno == EINTR || errno == EWOULDBLOCK || er...原创 2013-07-10 16:21:17 · 167 阅读 · 0 评论 -
socket send recv时报段错误的原因和解决方法
调试服务器时发现使用socket send时会出现偶发的段错误Stopped: Broken pipe(Signal SIGPIPE),网上检索一番得到下面的解释: 在linux下写socket的程序的时候,如果尝试send到一个disconnected socket上,就会让底层抛出一个SIGPIPE信号。client端通过 pipe 发送信息到server端后,就关闭...原创 2013-07-10 15:38:37 · 2968 阅读 · 0 评论 -
游戏辅助,汇编学习等杂七杂八
最近突然对游戏外挂开发产生兴趣,准备花点时间研究研究。不过,好记性不如烂笔头,所以在这里对相关资料和常去网站做个记录。以下仅为网上收集的一些资料。 相关文章:外挂基础知识入门教学http://hack.gameres.com/thread_142398.html 微软研究院Detour开发包之API拦截技术http://www.cnblogs.com/f...原创 2012-10-10 22:06:32 · 222 阅读 · 0 评论 -
openssl 裁剪
引用自:http://stackoverflow.com/questions/7827836/build-openssl-with-just-rsa-and-aes If you build OpenSSL by running the config or Configure script, you provide no-<cipher> as an argume...原创 2013-06-30 14:55:38 · 533 阅读 · 0 评论 -
数据加密的一些资料
3DES、AES、RC6、TEA、RSA、MD5、SHA1、SHA256 网游通讯加密的方案设计http://stackoverflow.com/questions/11229169/should-i-generate-a-key-from-a-hash-for-encryptionhttp://www.2cto.com/Article/201206/135918.html...原创 2013-04-12 17:15:48 · 116 阅读 · 0 评论 -
使用qtcreator在mac下调用c++11特性
引用自:http://stackoverflow.com/questions/10592341/cant-upgrade-gcc-on-mac 先安装macports,然后 sudo port install gcc47 +universalsudo port install libstdcxx +universal I created a custom makesp...原创 2013-04-12 02:25:52 · 274 阅读 · 0 评论 -
修改ubuntu下pthread最大线程个数
socol@ubuntu:~/test$ ulimit -s8192socol@ubuntu:~/test$ ulimit -s unlimitedsocol@ubuntu:~/test$ ulimit -sunlimited原创 2013-03-22 16:36:05 · 1237 阅读 · 0 评论 -
c++ thread and delete
涉及到多线程下对象的自动销毁,下面是网络上收集的相关资料: boost 中文手册http://67.223.234.84/boost_doc/index.html 当析构函数遇到多线程 ── C++ 中线程安全的对象回调http://www.cnblogs.com/Solstice/archive/2010/02/10/dtor_meets_threads.html...原创 2013-03-21 10:08:03 · 818 阅读 · 0 评论 -
将类成员函数用做C回调函数
引用自:http://www.51testing.com/html/38/n-806638.html 回调函数是基于C编程的Windows SDK的技术,不是针对C++的,程序员可以将一个C函数直接作为回调函数,但是如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。 分析原因: 普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”...原创 2013-03-09 20:33:22 · 575 阅读 · 0 评论 -
ubuntu install mysql driver
sudo sudo apt-get install libmysqlcppconn-dev libmysqlclient-dev libmysql++-dev socol@ubuntu:~/Downloads$ dpkg -L libmysqlcppconn-dev /./usr/usr/share/usr/share/doc/usr/share/doc/libmy...原创 2013-03-08 19:34:59 · 156 阅读 · 0 评论 -
堆和栈的区别
非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构...原创 2010-06-21 13:11:00 · 90 阅读 · 0 评论 -
判断程序实例是否已经运行的N种方法
1. 在创建的文件中写入进程的ID,如果机器非正常退出,重启后先读取这个文件,得到进程ID,再根据ID判定进程是否正在运行,如果不是,则把文件删除掉。这样就不会发生不删除文件,程序运行不起来的问题了。 2. 打开一个文件,然后锁定,新运行的程序会试图再次锁定该文件,但是因为已经被锁定,所以会返回错误信息。据此就可以判断是否有程序已经运行。设置FD_CLOEXEC后,只要程序终止,都可以...原创 2010-06-09 10:11:36 · 406 阅读 · 0 评论 -
C++中面向对象编程
转载自:http://www.prglab.com/cms/pages/c-tutorial/oo-programming.php 4.1 类(Classes)类(class)是一种将数据和函数组织在同一个结构里的逻辑方法。定义类的关键字为class ,其功能与C语言中的struct类似,不同之处是class可以包含函数,而不像struct只能包含数据元素。类定义的形式是:...原创 2010-05-28 16:44:14 · 161 阅读 · 0 评论 -
SQLite语法 CREATE TRIGGER
转载自:http://blog.csdn.net/JinHuanBaobei/archive/2009/07/07/4326814.aspx CREATE TRIGGERsql-statement ::=CREATE [TEMP | TEMPORARY] TRIGGER trigger-name ...2010-03-26 11:01:07 · 102 阅读 · 0 评论 -
创建scoket文件 UNIX Domain Socket IPC
转自:http://docs.huihoo.com/c/linux-c-programming/ch37s04.html 4. UNIX Domain Socket IPCsocketAPI原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX DomainSocket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopba...2010-03-22 15:33:51 · 409 阅读 · 0 评论 -
初识SQLITE3
转自:http://blog.chinaunix.net/u1/49022/showart_387902.html 最近由于工作需要,开始接触开源数据库软件SQLITE。这是毕业后第一次使用数据库编程(以前在学校里都是瞎搞搞)。 SQLITE是一款非常小巧的嵌入式开源数据库软件,目前最新的版本是3.5.0 alpha版(最新版本可以参考www.sqlite.org...2010-03-16 09:50:30 · 60 阅读 · 0 评论 -
字符串范围check 的strtol()详解
引用自:http://hi.baidu.com/qwpsmile/blog/item/9bc44efa4f41018a9f514637.html 今天,在review 一些代码的时候,看到了strtol()这个函数,由于以前使用它的时候,还没有深刻的了解,这次,我决定探个究竟。网上关于这个函数的资料大都来源于同份资料,linux库函数,讲的不够细致。于是,我花了几个小时,认...原创 2009-12-02 16:21:28 · 216 阅读 · 0 评论 -
#define的用法
1.简单的define定义#define MAXTIME 1000一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写if(i<MAXTIME){.........}编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。这样的定义看起来类似于普通的常量定义CONST,但也有着不同,因为defi...原创 2009-11-17 15:10:53 · 152 阅读 · 0 评论 -
理解复杂的C/C++声明 const, typedef , 函数指针
让我们从一个非常简单的例子开始,如下:int n;这个应该被理解为“declare n as an int”(n是一个int型的变量)。接下去来看一下指针变量,如下:int *p;这个应该被理解为“declare p as an int *”(p是一个int*型的变量),或者说p是一个指向一个int型变量的指针。我想在这里展开讨论一下:我觉得在声明一个指针(或引用)类型的变...原创 2009-11-17 15:09:30 · 55 阅读 · 0 评论 -
Linux PAM Program/弹出获得root权限对话框
什么也不要说,先来一个程序吧。/*注意要和你的系统一致redhat是这样/etc/pam.d/check_userauth required /lib/security/pam_unix_auth.soaccount required /lib/security/pam_unix_acct.so1.如果需要出现密码弹出框还需要在添加/etc/security/c...原创 2009-11-17 15:08:13 · 535 阅读 · 0 评论 -
怎么写Daemon程序
引用自:http://www.netzmafia.de/skripten/unix/linux-daemon-howto.htmlhttp://www.qqgb.com/Netware/Linux/Linux7/82888.html作者:Devin Watson译者:Li Zhiwei 第一版 2004年5月本文讲述如何用GCC在Linux编写Daemon. 使用本文档...原创 2009-11-17 15:02:27 · 174 阅读 · 0 评论 -
C语言的(...)参数
C语言中有一种长度不确定的参数,形如:"…",它主要用在参数个数不确定的函数中,我们最容易想到的例子是printf函数。 原型:int printf( const char *format [, argument]... ); 使用例:printf("Enjoy yourself everyday!\n");printf("The value is %d!\n",...原创 2009-11-17 14:50:24 · 85 阅读 · 0 评论 -
如何使用gettext, po, mo制作多语言应用程序[转]
引用自:http://blog.csdn.net/hwizhao/archive/2008/02/19/2106815.aspx 一、翻译档制作部分1、制作po档(1)生成template文件xgettext -k_ -o ui_pref.pot ui.c pref.pot head.#...原创 2009-11-17 14:35:52 · 185 阅读 · 0 评论