自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (3)
  • 收藏
  • 关注

转载 为Visual Studio添加默认INCLUDE包含路径一劳永逸的方法

你是否曾经也有过这样的问题:用VS的时候,有时会用到一些非自带的库,例如WTL、Boost、DX等,每次需要用到时都要在项目属性里添加相应的include目录,久而久之觉得有点麻烦。是否有解决办法呢?于是我便在网上找相关资料,在StackOverflow网站上找到一篇相关的文章,文章里提到的一个办法是修改 C:\Users\\AppData\Local\Microsoft\MSBuil

2014-10-11 16:10:33 3762

转载 ATL TRACE

我们都知道MFC有个很有用的宏,叫TRACE,它用起来跟printf一样简单,能直接在VC++的output窗口中输出调试信息,但非MFC的project却没有这个宏,只能用OutputDebugString这个API输出,而OutputDebugString这个API却不支持类似printf这样的输出格式,而且不能在Release版本中自动关闭(Reports warnings to a

2014-10-11 15:32:24 869

转载 学习视频编程的记录

http://www.howtogeek.com/183231/how-to-record-your-desktop-and-create-a-screencast-on-windows/https://github.com/jp9000/OBS

2014-09-30 18:51:23 812

转载 基于UDP协议的简单基本视频传输程序的编写

一、UDP协议UDP是User Datagram Protocol的简称,中文名是用户数据报协议,是OSI参考模型中一种无连接的传输层协议。正式通信前不必与对方先建立连接,直接向接收方发送数据,是一种不可靠的通信协议。正是由于UDP协议不关心网络数据传输的一系列状态,使得UDP协议在数据传输过程中节省了大量的网络状态确认和数据确认的系统资源消耗,大大提高UDP协议的传输效率,传输速度快。TCP

2014-09-30 10:37:57 2816 1

转载 About DirectShow Filters

DirectShow uses a modular architecture, where each stage of processing is done by a COM object called a filter. DirectShow provides a set of standard filters for applications to use, and developers ca

2014-09-30 09:47:43 601

转载 为什么程序员需要关心顺序一致性(Sequential Consistency)而不是Cache一致性(Cache Coherence?)

本文所讨论的计算机模型是Shared Memory Multiprocessor,即我们现在常见的共享内存的多核CPU。本文适合的对象是想用C++或者Java进行多线程编程的程序员。本文主要包括对Sequential Consistency和Cache Coherence的概念性介绍并给出了一些相关例子,目的是帮助程序员明白为什么需要在并行编程时关注Sequential Consistency。

2014-09-05 14:18:21 585

转载 【C++程序设计技巧】NVI(Non-Virtual Interface )

在C++的程序设计中有一些设计开发的典型技巧需要整理讨论,在此抛砖引玉,为自己做积累,请高人也多多指教。1.简介在标准C++库中我们可以看到这样的一个现象:6个公有虚函数,并且都是std::exception::what()和其重载。142个非公有虚函数。这样设计的目的何在呢,为什么“多此一举”的把虚函数设置为非公有呢?这就是NVI机制要求的:将虚函数声明为非公有,而将公有

2014-09-05 11:18:04 669

转载 一个fork的面试题

题目:请问下面的程序一共输出多少个“-”?1234567891011121314#include #include #include  intmain(void){   inti;

2014-09-04 22:34:10 403

转载 libtool的作用及应用

creating hello-rpath项负责添加运行时库路径,否则只能手工修改LD_LIBRARY_PATH环境变量了。验证一下:# ldd .libs/hello        linux-gate.so.1 =>  (0xffffe000)        libhello.so.0 => /usr/local/lib/libhello.so.0 (0x40019000)

2014-09-03 22:43:18 481

转载 使用 GNU Libtool 创建库

在不同的系统中建立动态链接库的方法有很大的差别,这主要是因为每个系统对动态链接库的看法和实现并不相同,以及编译器对动态链接库支持的选项也不太一样。对于开发人员,如果尝试将使用动态库的软件在这些系统之间移植,需要参考枯涩难懂的系统手册,以及修改相应的 Makefile,这一工作是乏味的,并且具有一定的难度。使用 GNU Libtool 可以容易的在不同的系统中建立动态链接库。它通过一个称为 Li

2014-09-03 19:39:54 521

转载 编写安全代码:小心volatile的原子性误解

关于volatile的说明,这是一个老生常谈的问题。volatile的定义很简单,将其理解为易变的,防止编译器对其进行优化。那么其用途一般有以下三种:1. 外部设备寄存器映射后的内存——因为外部设备寄存器可能会由于外部设备的状态变化而改变,因此映射后的内存需要注明为volatile的;2. 多线程或异步访问的全局变量;3. 嵌入式汇编——防止编译器对其优化;这三种用途中的第

2014-09-02 17:18:13 693

转载 GDB调试技巧

C语言中的宏定义,有着各种各样的好处和坏处,可谓让人有爱有恨。在大型的工程项目中,为了简洁,为了封装,宏的应用必不可少。但是在调试问题时,因为宏定义是被预定义处理的,所以不会有任何的编译符号和调试信息。这样给调试宏定义时,带来了很大的困难。对于开发人员来说,除了直接肉眼去看宏定义,自己来展开宏定义去确定问题,是否还有其它手段来调试宏定义吗?本文介绍两种调试宏定义的小技巧:第

2014-09-02 14:36:28 907

转载 Makefile中的伪目标和变量定义格式

Makefile伪目标    本节我们讨论一个Makefile中的一个重要的特殊目标:伪目标。 伪目标是这样一个目标:它不代表一个真正的文件名,在执行make时可以指定这个目标来执行其所在规则定义的命令,有时我们也可以将一个伪目标称为标签。使用伪目标有两点原因:1. 避免在我们的Makefile中定义的只执行命令的的目标(此目标的目的为了执行执行一系列命令,而不需要创建这个目标)和工作目录

2014-08-25 11:24:42 1612

转载 Makefile 中:= ?= += =的区别

在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE    VRE = “Hello World!”elseendififeq ($(OPT),define)    VRE ?= “Hello World! First!”endifif

2014-08-25 11:16:33 324

转载 CURL库在程序中的运用浅析

CURL库在程序中的运用浅析2012-07-25 10:35:48 分类: C/C++这个目录的文章转载freeeyes大牛的作品前一段时间自己写了一个抓取网页代码的类,来满目一些项目需求,结果发现并不稳定,在海量网页抓取的时候,存在一些异常导致抓取失败。虽然能满足大概的要求,但是功能上还是不能让我100%的满意,于是在站长的建议下,下载了一个CUrl通用库。第一次

2014-08-22 15:00:14 420

转载 面试题1

1.宏定义:求一年有多少秒?#define (365*24*60*60)UL2.写出volatile的三个例子精确地说就是,优化器在用到这个变量时必须每次都小心地重新从内存里读取这个变量的值,而不是使用保存在寄存器里的备份。 下面是volatile变量的几个例子: 1) 并行设备的硬件寄存器(如:状态寄存器)2) 一个中断服务子程序中会访问到的非自动变量(Non-automat

2014-08-21 19:42:51 446

原创 通过制作一个小软件得到的感悟

每做一个小项目,都会遇到种种问题,

2014-08-15 15:06:44 592 1

转载 Windows下编译OpenSSL (VS2010)

使用VS2010编译openssl-1.0.1e成功,openssl-1.0.0编译失败如何在Windows下编译OpenSSL (VS2010使用VC10的cl编译器)1、安装ActivePerl//初始化的时候,需要用到perl解释器2、使用VS2010下的Visual Studio 2010 Command Prompt进入控制台模式(这个模式会自动设置各种环境变

2014-08-15 13:45:25 541

转载 vc中如何使用静态库的资源

最近在使用静态库的时候,发现静态库不能带资源,在使用的时候静态库查找自带资源的时候会报错,看了下MSDN:“If you add an rc file to a static library, you may experience difficulties due to the limitation that only one rc file may be present in a Dll or

2014-08-15 11:28:21 2594

转载 代码优化-之-优化除法

代码优化-之-优化除法摘要:现在的CPU,做乘法是很快的(1个CPU周期左右,或者是需要两\三个周期,但每个周期能启动一个新的乘指令),但作为基本指令的除法却超出很多人的预料,它是一条很慢的操作,整数和浮点的除法都慢;本文将给出一些除法的优化方法或替代算法;> 作者:HouSisong@263.net(说明:文章中的很多数据可能在新的CPU或不同的CPU或不

2014-08-07 10:37:28 1000

转载 anonymous namespace 匿名namespace的作用以及它与static的区别

一。匿名namespace的作用在C语言中,如果我们在多个tu(translation unit)中使用了同一个名字做为函数名或者全局变量名,则在链接阶段就会发生重定义错误,为了解决这个问题,我们可以在定义这些标识符(identifier)的时候加上static关键字修饰以限制它只在一个tu范围内可见。C++继承了C语言中static关键字的这个用途,我们依旧可以使用stati

2014-08-06 17:54:07 3102

转载 用boost::signal实现Observer模式

在没有掌握boost::signal之前,要用C++语言自己实现Observer模式真是一场对我耐心的考验。我首先要建立一个抽象基类Observer并为它声明N个纯虚接口,然后让这个家伙做我程序中所有ConcreteObserver类的爹,如果已经有爹的就再认一个,从而打开多重继承的潘多拉……正在我皱眉的时候,编译器告诉我:别慌,烦恼才刚刚开始呢别废话,先让Observer的每个儿子把它的纯虚接口

2014-07-24 20:58:50 712

转载 c++ 运行期类型识别

有了前面3篇文章的基础,再看这篇文章就很容易了

2014-07-24 18:37:01 565

转载 C++ 的嵌套类模板的特化定义不允许写在类定义的范围内

最近在使用在使用模板特化写一段程序时发现一个奇怪的问题,比如像如下代码: #includeusing namespace std;class CMyClass{public:     template typename T>     struct test     {          T i;     };

2014-07-24 17:57:46 2147

转载 c++ metaprogramming 入门第二篇

C++ 的 MetaProgramming废话就不说了, 按照C的传统惯例,介绍programming的最好方式就是show代码, 第一个例子就是Hello,world, 这篇文章也不例外在任何一个cpp文件中,输入struct hello_world; //forward declarationstruct A : hello_world{};然后编译..,注意我没有

2014-07-24 17:46:42 471

转载 c++的 metaprogramming入门第一篇

C++ 的 MetaProgramming废话就不说了, 按照C的传统惯例,介绍programming的最好方式就是show代码, 第一个例子就是Hello,world, 这篇文章也不例外在任何一个cpp文件中,输入struct hello_world; //forward declarationstruct A : hello_world{};然后编译..,注意我没有

2014-07-24 17:45:51 661

转载 为什么说MFC是垃圾

我说MFC设计得不好, MFC最重要的一个class应该是CWnd,对吧?  一个CWnd多少个字节? 我记得好像是64(60?)个字节。按照你的理解,可能4个字节的HWND以及最多虚拟函数需要使用的4个字节加起来8个字节就够了(ATL的CWindow只有4个字节,虚函数都没有,消息处理通过多层继承实现正交分解)。但是CWnd为什么有64个字节? 因为CWnd里面什么都有,甚至包括为了CO

2014-07-24 17:44:28 1177

转载 TCPIP读书札记-IP要不要分片?

我们知道,当应用层程序之间进行网络数据传输时,在发送端,数据会从应用层沿着协议栈向下传输,通过TCP/IP层,然后经由链路层发送出去,而在接收端,则是相反的顺序,数据经由链路层接收,然后沿着协议栈向上传输,通过IP/TCP层,最后由应用层程序进行读取。  而在IP层往链路层传输数据的时候,往往会做一个分片的操作,对于大多数链路层来讲,它都有一个最大传输单元(MTU),表示能够发

2014-07-17 19:01:53 689

转载 [POSIX线程模型]_[使用pthread对工作线程进行简单控制-暂停-继续-停止]

1.使用命令行对线程简单控制。界面和Win32版本的:http://blog.csdn.net/xianglitian/article/details/6729851场景:1.在开发界面程序时,为了不让界面程序挂起,会新建一个工作线程来处理逻辑,主线程就能持续和用户交互。2.pthread优点:跨平台。耗时:3h文件1: test

2014-07-16 15:21:41 635

转载 林毅夫、张维迎先生之争让人失望

林张之争最近发生在杨小凯纪念会上的争议让人失望。     两位经济学家的观点没有改变,我们看到的是两种主要经济理论、两种不同发展模式在新路径、在中国新经济背景下的又一轮交锋。 张维迎先生是典型的市场派人士,主张由市场发挥作用,出清库存,否则价格必遭扭曲,资源错误配置,病情越来越重,“大量的事实证明,政府无论怎么做都不可能做的更好。”而林毅夫先生一如既往地主张政府的作

2014-07-16 08:43:02 1257

转载 python try except else finally 执行顺序详细分析

学习python或者其他有异常控制的编程语言, 大家很有可能说try except finally(try catch finally)的执行很简单,无非就是有异常的话执行except, finally无论是否有异常都会执行, 大致上原则是这样, 但是如果涉及到更加详细的复杂的路径,加上return 语句,就没有那么简单了。1. 没有return 语句的情况?

2014-07-11 10:42:10 776

转载 [Python]装饰器

今天来讨论一下装饰器。装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。1. 装饰器入门1.1. 需求是怎么来的?装饰器的定义很是抽象,我们来看一个小例子。

2014-07-10 17:03:45 476

转载 python的类属性和实例属性

python的类属性和实例属性今天一同事说踩了python的坑, 这确实是个“坑”但是我觉得python之所以这样设计,就是明确要求写代码的人知道自己在写什么^ ^ python的实例属性必须在__init__(self) 方法中定义,直接跟在类名后边定义的属性都默认是类属性(类似于c++的static变量)。而python实例又可以灵活的随便增加属性,便出现了图片

2014-07-10 17:02:36 687

转载 Linux file system events with C, Python and Ruby

Some applications (like file managers, monitoring tools, etc) need to know about events in the file system, for example when a file was created, opened or deleted.With Linux, you can use the inotify

2014-07-06 12:49:49 686

转载 使用Boost.Python开发

Python本身就内置了大量功能,但毕竟不是也不可能包罗万象,如果要实现特定扩展功能,一个办法就是用C/C++等静态语言在外部实现相应的功能,并按Python扩展规范打包为一个模块,然后在Python中import近来就可以使用了。每个Python模块都内置三个变量:__doc__、__name__和__file__。__name__代表模块名,__file__代表模块文件名,可以用print

2014-07-04 21:20:17 581

转载 boost::python 遇到的一些问题总结

环境:   WinXP-SP3(chs) + VS2010-SP1(en-us) + boost 1.47.0 + python 2.7(ActivePython2.7 携带)   boost编译时,boost::python库编译为 stage debug release link=static runtime-link=shared问题1:   python27 不认d

2014-07-04 21:18:35 2323

转载 vs2010 Project converted from VS2005 gets MSB4006 circular dependency error on build

question:I copied source files and .sln, .suo, .vcproj etc files from a VS2005 machine on which this solution builds OK. The conversion of this project did not get any errors, although several other

2014-07-04 11:04:19 788

转载 Boost库编译后命名方式

Boost官网的《Geting Started On Windows》(http://www.boost.org/doc/libs/1_38_0/more/getting_started/windows.html)提到了Boost库的命名,摘录如下: 以 libboost_regex-vc71-mt-d-1_34.lib 为例:lib 前缀:除了Microsoft Window

2014-07-04 10:34:05 492

转载 Linker Property Pages

This topic discusses the following properties on the General linker property page:Ignore Import Library Tells the linker not to try to link any .lib output generated from this build into any dep

2014-07-03 19:02:58 507

转载 北京楼市下行蔓延至周边 多个楼盘降价超千元

每经记者 王杰 发自河北燕郊随着降价潮的蔓延,环北京楼市也出现了大幅降价。6月25日,《每日经济新闻》记者在燕郊、大厂等地调查发现,多个楼盘销售冷清,价格已经有所下降,有些项目单价已经下降过千元。亚豪机构市场总监郭毅在接受《每日经济新闻》记者采访时表示,燕郊等地区域内需不足,交通不畅、配套匮乏的劣势会被放大,导致区域房价出现下跌。其根本原因在于缺少支柱型产业。“区域经济过于依赖房地产业

2014-06-27 09:10:59 798

Directshow_SDK_Notes

Directshow_SDK_Notes

2015-09-22

c++工程实践

作者:陈硕 数据抽象(data abstraction)是与面向对象(object-oriented)并列的一种编程范式(programming paradigm)。说“数据抽象”或许显得陌生,它的另外一个名字“抽象数据类型/abstract data type/ADT”想必如雷贯耳。 “支持数据抽象”一直是C++语言的设计目标,Bjarne Stroustrup 在他的《The C++ Programming Language》第二版(1991年出版)中写道[2nd]: The C++ programming language is designed to be a better C support data abstraction support object-oriented programming

2014-08-06

网络攻防实验

网络技术Remote Timing Attacks are Practical

2012-05-17

空空如也

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

TA关注的人

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