
c++
csp321xyz
毕业于四川理工,有7年C++开发经验
展开
-
C++使用virtual析构函数的原因
1.如果基类中的成员函数是virtual类型的,其继承类中相应的函数也是virtual类型,并且基类对象的引用指向继承类对象时,基类就可以调用继承类函数,否则调用的是基类函数 class base { public: virtual void fun(){ printf("base fun");} }; class de...转载 2018-12-21 14:59:30 · 320 阅读 · 1 评论 -
程序获取管理权限
程序获取管理权限转载:https://blog.youkuaiyun.com/penglijiang/article/details/7178594方法一:1找到VS2010的快捷方式:右击——“打开文件位置”找到VS2010的启动项目devenv.exe:右击——属性——兼容...转载 2019-01-08 13:57:24 · 334 阅读 · 1 评论 -
VC设置项目属性时"从父级或项目默认设置继承"中的父级在哪里?
VC设置项目属性时"从父级或项目默认设置继承"中的父级在哪里? VS -> 视图 -> 其他窗口 -> 属性管理器 ->Microsoft.Cpp.Win32.user 此处修改后,所有VS工程其父级属性都会被 修改。 ...原创 2019-01-22 14:16:44 · 976 阅读 · 0 评论 -
ninja
在windows下编写一个简单的ninja.build cc = gccrule compile command = $cc $cflags $in -o $outbuild out/foo.exe : compile src/foo.cpp原创 2019-02-15 15:27:25 · 257 阅读 · 0 评论 -
坐标转换
坐标转换---经纬度转换为XYZtypedef struct __Pos{ double x; double y; double z;}POS;// 经纬度转换为球坐标double torad(double deg){ return deg/180*acos(-1.0f);}POS lonlatToPoint(double R,double ...原创 2019-03-05 16:52:35 · 622 阅读 · 0 评论 -
关于安装npm install时,长时间停留在fetchMetadata
关于安装npm install时,长时间停留在fetchMetadata安装npm install时,长时间停留在fetchMetadata: sill mapToRegistry uri http://registry.npmjs.org/whatwg-fetch处,此处需要在对应的URL处下载一些文件,只要网络稳定,一般花不了多长时间但是,最近两次操作都是长时间停留,在网上找了一些...转载 2019-03-19 13:29:50 · 449 阅读 · 0 评论 -
网址收藏
网络通信学习网址:https://www.jianshu.com/p/b73fdd893f98消息中间件—RocketMQ消息存储 :https://www.jianshu.com/p/b73fdd893f98原创 2019-07-04 10:50:11 · 598 阅读 · 0 评论 -
获取系统版本代码收集
// 获取系统版本void GetSystemName(char* osname){ char buf[128]; SYSTEM_INFO info; //用SYSTEM_INFO结构判断64位AMD处理器 GetSystemInfo(&info); //调用GetSystemInfo函数填充结构 OSVERSIONINFOEX os; os...转载 2019-07-05 11:22:17 · 300 阅读 · 0 评论 -
C++ 函数对象
C++ 函数对象 与 C++ 泛型算法 find_if 和 count_if 结合的实例:bool acompare(int i){ return i>=1;}template <typename T>class CAcompare{public: CAcompare(T a) { m_a = a; } ...原创 2019-07-15 14:25:40 · 387 阅读 · 0 评论 -
C++ 智能指针
C++ 智能指针好记性不如烂笔头,有人问我C++智能指针是什么?我不太确定的给他说是auto_ptr。auto_ptr那么到底对不对呢?是对的,但也不全。那么智能 指针有哪些呢?在C++中智能指针有std::auto_ptr、std::unique_ptr 、std::shared_ptr、std::weak_ptr。在没有智能指针的时候,我们对堆内存的管理就是简单的new / dele...原创 2019-07-12 12:20:01 · 127 阅读 · 0 评论 -
C++ 类型转换
static_cast const_cast dynamic_cast reinterpret_casts复习了C++类型转换,看见网上有总结精辟的文章,故而摘抄一把。static_cast相当于传统的的C 语言里的强制转换,该运算符把expression转换为new_type类型,用来强迫隐式转换,例如non-const对象转为const对象,编译时检查,多余非多态的转换,...转载 2019-07-23 19:54:27 · 172 阅读 · 0 评论 -
组播通信C++ 代码实现
组播定义:组播技术是IP网络数据传输三种方式之一,在介绍Ip组播技术之前,先对IP网络数据传输的单播、组播和广播方式做一个简单的介绍。单播: 在发送者和每一接收者之间实现点对点网络 连接。如果一台发送者的接收者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时,将导致发送者负担沉重、延迟长、网络阻塞、为保证一定的服务质量需...原创 2019-07-22 11:51:28 · 3932 阅读 · 0 评论 -
多线程中Sleep的作用
在一书中,是这样写的: 使用Sleep, 线程可以告诉系统,在一段时间内自己不需要调度。Sleep函数的原型: void Sleep(DWORD dwMilliseconds);使用这个函数需要注意几点: 1、使用Sleep函数,将使线程自愿放弃属于它的时间片中剩下的部分。 2、系统设置线程不可调度的时间只是“近似于”所设定的毫秒数。原创 2013-11-08 14:20:09 · 2502 阅读 · 0 评论 -
VS2008中OpenGL环境配置
VS2008中OpenGL环境配置1.安装下载OpenGL类库 http://download.youkuaiyun.com/source/274113(这个是1.4版本的),也可以到OpenGL官网下载其他版本。将.h文件拷贝到C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL目录中(没有GL目录就自己创建一个,这里的具体原创 2014-01-07 16:01:07 · 464 阅读 · 0 评论 -
应用程序无法正常启动0xc000007b问题的解决方案
今天在打开以前编译好的程序的时候,程序无法启动,弹出“应用程序无法正常启动0xc000007b”的错误,重新编译问题就解决了。原因分析:1、刚装完系统,而程序是在新系统前编写的,因此可能是找不到程序所依赖的库,导致无法运行。 2、还有可能是原先编写的是32位的程序,在64位的机器上跑就会出现这种错误。综上所述的原因分析,所以重新编译程序就能解决问题。原创 2013-12-24 10:05:42 · 4279 阅读 · 0 评论 -
调用约定收集
常见的函数调用约定; VC6中的函数调用约定; 调用约定 堆栈清除 参数传递 __cdecl 调用者 从右到左,通过堆栈传递 __stdcall 函数体 从右到左,通过堆栈传递 __fastcall 函数体转载 2013-12-24 16:47:43 · 479 阅读 · 0 评论 -
在VS2008中给类添加事件的方法
习惯了在VC6.0中给一个类点击右键就可以添加事件或者消息,初次使用VS2008给类添加事件和消息的时候还有点摸不着头脑,经过查找,原来在VS2008中也有次功能。在VS2008中不再像VC6.0那样采用弹出式对话框供你选择,而是采用在属性表单列出,这个属性表单一般情况是在VS2008窗口的右侧。在属性表单中你可以有这样的操作,点击事件、消息、重写。原创 2013-12-24 15:23:13 · 887 阅读 · 0 评论 -
warning LNK4098: defaultlib "MSVCRTD" conflicts with use of other libs; use /NODEFAULTLIB:library
今天在编写静态链接库的时候出现的问题。问题描述:在VS2010下编写动态链接库,在VC6.0编译环境下调用,没有问题。于是乎我就想,既然动态链接库编译可以通过,静态链接库编译也可以通过了,于是我就编写了一个静态链接库,供VC6.0调用。编译过,连接没有过。错误如下:1、warning LNK4098: defaultlib "MSVCRTD" conflicts with use of o原创 2015-01-14 15:12:57 · 1258 阅读 · 0 评论 -
osg 中显示中文字符出现乱码问题
OSG中创建字体函数:osg::Node* CreateText(wchar_t * str,double pos[3],double rgba[4],int textSize ,char * TextName){ osg::Vec3 position(pos[0],pos[1],pos[2]); osg::Vec4 color(rgba[0],rgba[1],rgba[2],rgba原创 2015-03-06 17:32:29 · 2572 阅读 · 0 评论 -
预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
用VC++ 2008 编写C语言程序,编译出现错误:预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)解决方法:建工程时 建立空项目 或者在项目设置里关闭预编译头的选项!当 Visual C++ 项目启用了预编译头 (Precompiled header) 功能时,如果项目中同时混合有 .c 和 .cpp 源文件,则可能收到 C185转载 2017-04-26 09:58:57 · 394 阅读 · 0 评论 -
解决Could not get lock /var/cache/apt/archives/lock
解决Could not get lock /var/cache/apt/archives/lock在ubuntu apt-get upgrade的时候,遇到:E: Could not get lock /var/cache/apt/archives/lock - open (11 Resource temporarily unavailable)E: Unable to lock t...转载 2018-08-08 22:54:24 · 1888 阅读 · 0 评论 -
批处理--遍历文件夹
@echo off set work_path=D:\testXX D: cd %work_path% for /R %%s in (.,*) do ( echo %%s ) pause转载 2018-08-28 16:08:10 · 2745 阅读 · 0 评论 -
C++ 的拷贝构造函数+赋值构造函数
C++ 的拷贝构造函数+赋值构造函数在《高质量C编程指南》一书有提到,一个空的C++类中有四个缺省的构造函数。如类AString AString(); //缺省构造函数 ~AString(); //缺省析构函数 AString(const AString &...原创 2019-07-22 15:39:51 · 645 阅读 · 0 评论