关闭

typedef用法小结

 第一、四个用途 用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量; 以下则可行: typedef char* PCHAR; // 一般用大写 PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指...
阅读(126) 评论(0)

BSS段 data段 text段 堆heap 和 栈stack

BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。     数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。     代码段:代码段(code segment/text seg...
阅读(183) 评论(0)

关于C++中的虚拟继承的一些总结

本文转自http://www.cnblogs.com/BeyondAnyTime/archive/2012/06/05/2537451.html 1.为什么要引入虚拟继承 虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继...
阅读(98) 评论(0)

unable to start program "... ...~.lib"

一个solution里存在有多个project的时候,编译成功,但是会提示unable to start program:                                                        原因可能有多种,这里提供一种可能的解决方法,右键sln-》property,在single startup project选择需要启动的工程。    ...
阅读(687) 评论(0)

基于protobuf的RPC实现

可以对照使用google protobuf RPC实现echo service一文看,细节本文不再描述。 google protobuf只负责消息的打包和解包,并不包含RPC的实现,但其包含了RPC的定义。假设有下面的RPC定义: service MyService { rpc Echo(EchoReqMsg) returns(EchoRespMsg) } ...
阅读(293) 评论(0)

C++STL之函数对象及谓词

 概述 函数对象是重载()运算符的类类型对象,即该类实现operator()()函数。STL将一组标准的函数对象定义为模板,,可以使用它们来创建一个函数对象,其中overload()运算符函数使用我们的对象类型。如:STL定义模板less。如果将该模板实例化为less,我们就有了一个函数对象类型,实现operator()()来对myNumber类型的对象进行大小比较。 很多算...
阅读(118) 评论(0)

C/C++ 多线程入门

在学习多线程编程之前, 必须先知道什么是 线程函数, 线程函数就是另一个线程的入口函数. 默认情况下一个我们所写的代码都是只有一个线程的, 而这个线程的入口函数就是main() 函数, 这是系统默认的. 而我们创建的另一个线程也需要一个函数来进入, 这个函数就叫做线程函数.   在C/C++中, 可以调用 '运行期库' 函数 _beginthreadex(...), 来创建一个线程, _begi...
阅读(401) 评论(0)

windows下c++编写多线程

一.进程 首先来看进程,它是一个正在运行的程序的实例,是一个程序在其自身的地址空间的一次执行活动。进程是资源申请、调度、和独立运行的基本单位。进程有两部分组成: 1操作系统用来管理进程的内核对象,内核对象是系统用来存放关于进程的统计信息的地方,它是操作系统内部分配的一块内存块,该内存块是一种数据结构,其成员负责维护该对象的各种信息。 2地址空间,它包含所有可执行模块、dll模块的...
阅读(179) 评论(0)

无法定位序数341于动态链接库于SSLEAY.DLL上

一定要选择与系统版本一致的DLL才可以 无法定位、丢失libeay32.dll文件。需要先下载安装libeay32.dll,然后才能正常使用 可以重新下载一个libeay32.dll文件,复制到c:\windows\system32文件夹【64位系统在C:\Windows\SysWOW64目录】,然后【开始-运行-输入regsvr32 libeay32.dll】即可。 下载地址: libeay32...
阅读(4012) 评论(0)

VS2013 Cannot find or open the PDB file

如果不是想debug,则该问题可以无视 如果确定要debug,请按该流程操作: 1.工具->选项->调试->符号: 2.勾选Microsoft符号服务器,点击确定,然后按照第一步步骤再次点开该对话框,这时下面一栏的“在此目录下缓存符号”中会自动填充一个目录路径,复制该路径, 3.在“Microsoft符号服务器”所在列表中添加一项,内容是上一步复制到路径,点击确定 4...
阅读(291) 评论(0)

LINK : fatal error LNK1158: cannot run 'rc.exe'

1>------ Build started: Project: Project1, Configuration: Debug Win32 ------ 1>LINK : fatal error LNK1158: cannot run 'rc.exe' ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========...
阅读(4828) 评论(0)

vs工程链接出现error LNK2005...already defined

链接过程,出现很多这样的错误: error LNK2005: "public: __thiscall std::basic_string,class std::allocator >::~basic_string,class std::allocator >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@...
阅读(424) 评论(0)

vs2012 error LNK2038 RuntimeLibrary 不匹配的解决

在工程上右键-》属性-》c/c++-》代码生成-》运行库 改成(release为MT,debug为MTD)即可解决: error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”...
阅读(285) 评论(0)

Visual Studio 2012中使用自定义project properties

由于将系统升级到了Windows 8, 而Windows 8 SDK已经集成了DirectX SDK,且不包含DX9及之前的头文件和库文件,如果想编写DX9程序则需要安装DirectX SDK,我安装的是DirectX SDK的最后一个单独分发包-Microsoft DirectX SDK (June 2010)。 这样又出现了一个问题,如果编写DX10/11或者Direct2D程序,就会导致有...
阅读(446) 评论(0)

LINK : fatal error LNK1104: 无法打开文件“kernel32.lib”

================================================ 1>------ 已启动生成: 项目: ConsoleApplication1, 配置: Debug Win32 ------ 1>LINK : fatal error LNK1104: 无法打开文件“kernel32.lib” ========== 生成: 成功 0 个,失败 1 个,最新 0...
阅读(4515) 评论(0)
30条 共2页1 2 下一页 尾页
    个人资料
    • 访问:28563次
    • 积分:347
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:28篇
    • 译文:0篇
    • 评论:0条
    文章分类