自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (4)
  • 收藏
  • 关注

转载 linux下c编程中善用backtrace解决大问题

linux下c编程中善用backtrace解决大问题程序在得到一个Segmentation fault这样的错误信息毫无保留地就跳出来了,遇到这样的问题让人很痛苦,查找问题不亚你N多天辛苦劳累编写代码的难度。那么有没有更好的方法可以在产生SIGSEGV信号的时候得到调试可用的信息呢?看看下面的例程吧!/*sigsegv.h*/#ifndef __sigsegv_h__#define

2013-07-31 10:30:15 2239

原创 Linux Call Trace原理分析

Linux Call Trace原理分析  本文介绍了在Linux环境下根据EABI标准进行call trace调试的一般性原理。本文所说的call trace是指程序出问题时能把当前的函数调用栈打印出来。本文只介绍了得到函数调用栈的一般性原理,没有涉及Linux的core dump机制。下面简单介绍powerpc环境中如何实现call trace。内核态call trace

2013-07-30 22:21:48 5893

转载 移位操作符

移位操作符位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。位移位运算符分为左移和右移两种,均为双目运算符。第一运算对象是移位对象,第二个运算对象是所移的二进制位数。位移位运算符的运算对象、运算规则与结果、结合性如表2-16所示。移位时,移出的位数全部丢弃,移出的空位补入的数与左移还是右移花接木有关。如果是左移,则规定补入的数全部是0;如果是右移,还与被移位的数据是

2013-07-17 23:00:12 621

转载 FTP中PORT方式和PASV方式

FTP中PORT方式和PASV方式FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。FTP协议有两种工作方式:PORT方式和PASV方式,中文意思

2013-07-14 11:25:06 2274

转载 dynamic_cast<>用法

/*这是从网上摘下的例子,主要讲述了 dynamic_cast/*作用:将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理,       即会作一定的判断。       对指针进行dynamic_cast,失败返回null,成功返回正常cast后的对象指针;       对引用进行dynamic_cast,

2013-07-11 10:35:58 606

转载 《职工带薪年休假条例》2008年元旦起施行(全文)

《职工带薪年休假条例》2008年元旦起施行(全文)中新网12月16日电 中国国务院12月7日举行的第198次常务会议已经通过 《职工带薪年休假条例》。该条例将从2008年1月1日起施行。以下是中国政府网今天公布的《职工带薪年休假条例》全文。职工带薪年休假条例第一条 为了维护职工休息休假权利,调动职工工作积极性,根据劳动法和公务员法,制定本条例。第二条 机关、团体、企业、事业单位

2013-07-10 15:57:53 894

转载 D_bus进程间通信

DBUS基础知识1.  进程间使用D-Bus通信    D-Bus是一种高级的进程间通信机制,它由freedesktop.org项目提供,使用GPL许可证发行。D-Bus最主要的用途是在Linux桌面环境为进程提供通信,同时能将Linux桌面环境和Linux内核事件作为消息传递到进程。D-Bus的主要概率为总线,注册后的进程可通过总线接收或传递消息,进程也可注册后等待内核事件响应,例如

2013-07-09 17:15:44 897

转载 select()函数分析(linux)

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式

2013-07-08 11:42:39 486

转载 waitpid()

waitpid系统调用在Linux函数库中的原型是:#include  #include pid_t waitpid(pid_t pid,int *status,int options)从本质上讲,系统调用waitpid和wait的作用是完全相同的,但waitpid多出了两个可由用户控制的参数pid和options,从而为我们编程提供了另一种更灵活的方

2013-07-07 18:42:57 516

转载 linux中likely与unlikely

看内核时总遇到if(likely( )){}或是if(unlikely( ))这样的语句,最初不解其意,现在有所了解,所以也想介绍一下。likely() 与 unlikely()是内核(我看的是2.6.22.6版本,2.6的版本应该都有)中定义的两个宏。位于/include/linux/compiler.h中,具体定义如下:#define likely(x) __builtin_exp

2013-07-06 17:09:37 439

转载 优先级反转问题及解决方法

(1)什么是优先级反转简单从字面上来说,就是低优先级的任务先于高优先级的任务执行了,优先级搞反了。那在什么情况下会生这种情况呢?假设三个任务准备执行,A,B,C,优先级依次是A>B>C;首先:C处于运行状态,获得CPU正在执行,同时占有了某种资源;其次:A进入就绪状态,因为优先级比C高,所以获得CPU,A转为运行状态;C进入就绪状态;第三:执行过程中需要使用资源,而这个资源又被

2013-07-05 22:04:25 1423

转载 消息队列操作 (linux)

对消息队列的操作无非有下面三种类型:1、 打开或创建消息队列消息队列的内核持续性要求每个消息队列都在系统范围内对应唯一的键值,所以,要获得一个消息队列的描述字,只需提供该消息队列的键值即可;注:消息队列描述字是由在系统范围内唯一的键值生成的,而键值可以看作对应系统内的一条路经。2、 读写操作消息读写操作非常简单,对开发人员来说,每个消息都类似如下的数据结构:struct m

2013-07-04 19:09:04 566

转载 管道和命名管道(windows)

一、概述  管道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另一进程就可以从管道的另一端将其读取出来。匿名管道(Anonymous Pipes)是在父进程和子进程间单向传输数据的一种没有名字的管道,只能在本地计算机中使用,而不可用于网络间的通信。二、匿名管道  匿名管道由CreatePipe

2013-07-04 19:00:48 815

转载 函数指针数组的定义

函数指针数组的定义方法,有两种:一种是标准的方法;一种是蒙骗法。第一种,标准方法:{分析:函数指针数组是一个其元素是函数指针的数组。那么也就是说,此数据结构是是一个数组,且其元素是一个指向函数入口地址的指针。根据分析:首先说明是一个数组:数组名[]其次,要说明其元素的数据类型指针:*数组名[].再 次,要明确这每一个数组元素是指向函数入口地址的指针:函数返回值类型(*数组名

2013-07-04 18:32:37 449

转载 const的作用

const是C语言的一种关键字,起受保护,防止以外的变动的作用!可以修饰变量,参数,返回值,甚至函数体。const可以提高程序的健壮性,你只管用到你想用的任何地方。(一)const修饰参数。const只能修饰输入参数。   1、如果输入参数是指针型的,用const修饰可以防止指针被意外修改。   2、如果参数采用值传递的方式,无需const,因为函数自动产生临时变量复制该参数。  

2013-07-04 17:45:28 424

原创 static在C中作用

(1)隐藏。对于函数来讲,static的作用仅限于隐藏;而对于变量,static还有下面两个作用。(2)static的第二个作用是保持变量内容的持久。(3)static的第三个作用是默认初始化为0。

2013-07-04 17:37:24 457

原创 IPC

IPC(Inter-Process Communication)进程间通信,提供了各种进程间通信的方法。在Linux C编程中有几种方法(1) 半双工Unix管道(2) FIFOs(命名管道)(3) 消息队列(4) 信号量(5) 共享内存(6) 网络Socket

2013-07-04 17:23:22 1000

原创 指针与数组

指针数组int *p[3];int a[3][4];for(i=0;i这里int *p[3] 表示一个一维数组内存放着三个指针变量,分别是p[0]、p[1]、p[2]。数组指针:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;        //将该二维数组的首地址赋给p,也就是a[0]或&a[

2013-07-04 17:12:28 493

VA_X_Setup2375_0

VC开发助手,非常方便。支持VS2019. 具体看说明。 信息: License: trial VA_X.dll file version 10.9.2380.0 built 2020.06.16 DevEnv.exe version 16.6.30204.135 Enterprise msenv.dll version 16.0.30204.135 Comctl32.dll version 6.10.19041.1 Windows 10 10.0 2004 Build 19041.329 8 processors (x86-64, WOW64)

2020-06-23

Visual.Assist.X.V10.9.2302.0原版安装文件以及破解补丁Patch

替换式补丁,非PYG,针对2018.12.13发布的Visual Assist 2302.0版本,压缩包内提供了原版的安装文件和破解补丁,虽然破解后显示还是trial,但是已经没有使用限制了,本人在VC6/VC2010/VC2017 中亲测可用,具体更新列表以及补丁的使用方法参见我的博客 https://blog.csdn.net/PiggyXP

2019-01-26

libcrypto.a

依赖openssl库的下载看下

2016-06-14

WinStun nat类型检测

1. 安装后,在stun server框里面填入 stun.iptel.org,然后点run test 2. 测试的时候,大家把防火墙,杀毒之类的东西都关掉收完的同学安装一下,测试

2016-05-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除