C++
文章平均质量分 92
几罗星人
多年VB,现在转战C++,爱好研究C++的底层实现原理,愿与同好共同研究学习。QQ:1938805008(几罗星人)
展开
-
depot_tools在windows上用遇到的问题和RTC编译出错
为了编译webrtc,执行如下的gn命令生成out/WinDefault_debug没问题gn gen out/WinDefault_debug --ide=vs2017 --args="target_cpu=\"x86\" rtc_include_tests=true target_os=\"win\" is_component_build=false is_clang=false use_lld=false treat_warnings_as_errors=false use_rtti=true r原创 2022-04-21 17:12:29 · 1915 阅读 · 0 评论 -
蓝桥杯:十六进制转八进制的高效算法
总算是在提交了11次都错误之后,第12次过了。也是无语。现在的算法,按照蓝桥杯系统给的10个测试数,显示耗时31ms,内存占用3.589MB。问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100原创 2016-01-07 21:21:25 · 24024 阅读 · 9 评论 -
在Windows和debian上配置Armadillo(线性代数库)并使用OpenBlas
老实说别的库就从来没配置成功过,好不容易配置成功了两个,要写点东西纪念一下。第一节 Armadillo简介Armadillo是一个C++的线性代数库,虽然它的官网自我介绍说高效,但是高效这个词要看和什么比了。不过,他的一个特点我很喜欢,那就是类似matlab的语法,而且是故意这样设计的,所以matlab的代码我复制到C++中稍加改动就可以用了。Armadillo库实际上是原创 2016-10-05 20:52:35 · 3707 阅读 · 0 评论 -
linux socket用setsockopt设置了超时之后怎么取消
在网上没找到资料,索性用getsockopt把一个默认的socket的超时值读出来看看。我原来写的代码是设置接收超时,所以现在读取的时候也读的是接收超时。// get.c#include /* See NOTES */#include #include #include #include int main(){ struct timeval tv_out;原创 2017-01-23 19:14:08 · 3319 阅读 · 0 评论 -
你所不知道的Visual Studio监视窗口的使用方法
嫌我啰嗦的可以直接看MSDN:C++ 中的格式说明符:https://msdn.microsoft.com/zh-cn/library/75w45ekt.aspx上下文运算符(C++):https ://msdn.microsoft.com/zh-cn/library/y2t7ahxk.aspx伪变量:https://msdn.microsoft.com/zh-cn原创 2017-05-30 21:25:28 · 20480 阅读 · 16 评论 -
获取C++11 变参模板的参数数量
C++11 的变参模板语法可以实现安全的变参函数,如果要获取参数包中参数的数量,就需要使用【sizeof...】运算符。原创 2017-09-21 19:15:49 · 2929 阅读 · 0 评论 -
【C++11】C++类型完全退化(拓展std::decay的功能)
C++11提供了一个模板类,来为我们移除类型中的一些特性,比如引用、常量、volatile,但是注意不包括指针特性,这个类就是std::decay,在头文件type_traits(类型萃取)中。如果我们希望将指针特性也退化掉,则需要自己写代码实现。但是np_decay类只能退化一重的修饰,fulltype通过不断递归继承,每继承一次退化一次,退化到没效果了就是全部特性都移除了,这时候的T作为结果的type类型,实现完全的退化。原创 2017-11-19 21:45:36 · 16052 阅读 · 0 评论 -
Qt可用的gdb编译,以及交叉编译gdbserver,以及配置QtCreator远程调试
项目中用了ARM的板,希望配置gdbserver进行远程调试,结果却遇到了很多问题。先把坑说了:1)要gdb能在Qt上用,必须在configure gdb的时候使用--with-python选项启用python支持2)需要安装python-dev(2.7的包,不是3的),但是即使装了也可能链接失败,报PyUnicodeUCS2_????函数没有找到,需要define Py_UNICODE_WIDE...原创 2018-06-28 16:42:34 · 5939 阅读 · 3 评论 -
C++ stringstream做两次类型转换第二次失败的解决方法
代码简化如下:#include <sstream>using namespace std;int mian(){ stringstream ss; long long x = 0, y = 0; ss << "1567248577151"; // 时间戳字符串转数字 ss >> x; ss.str(""); ss << "15...原创 2019-08-31 19:07:12 · 949 阅读 · 3 评论 -
浅谈__declspec(selectany)该何时用
__declspec(selectany)能为我们解决一切重定义的问题吗?__declspec(selectany)该何时用?原创 2014-12-01 00:01:48 · 6703 阅读 · 5 评论 -
【转】c++ 中__declspec 的用法
转自语法说明:__declspec ( extended-decl-modifier-seq )扩展修饰符:1:align(#) 用__declspec(align(#))精确控制用户自定数据的对齐方式 ,#是对齐值。e.g__declspec(align(32)) struct Str1{int a, b, c, d, e;}转载 2014-07-15 02:11:44 · 926 阅读 · 0 评论 -
CEdit & CRichEdit 使用技巧
http://houhualiang.blog.sohu.com/29911975.html 今天为程序添加个提示框,第一次使用Rich Edit控件,写好后运行竟然没有弹出,跟踪调试发现对话框类为空,郁闷。马上到网上搜了一下,原来还需要初始化,调用AfxInitRichEdit()。 msdn上如是说: If you are using a rich edit contr转载 2013-02-24 20:46:40 · 3683 阅读 · 0 评论 -
MP4文件格式的解析,以及MP4文件的分割算法
http://www.cnblogs.com/haibindev/archive/2011/10/17/2214518.htmlMP4文件格式的解析,以及MP4文件的分割算法 mp4应该算是一种比较复杂的媒体格式了,起源于QuickTime。以前研究的时候就花了一番的功夫,尤其是如何把它完美的融入到视频点播应用中,更是费尽了心思,主要问题是处理mp4文件庞大的“媒体头”。当然,流转载 2013-03-20 22:13:03 · 1354 阅读 · 0 评论 -
C 专家编程笔记(三) 数组和指针
http://blog.adintr.com/43 数组的下标应该从 0 还是从 1 开始?我提议的妥协方案是 0.5,可惜他们未予认真考虑便一口回绝。 ----StanKellBo 在 x = y 中,x 代表一个地址,被称为左值。Y 代表的是地址中的内容,被称为右值。左值在编译时可知,右值在运行时转载 2013-06-29 17:21:26 · 974 阅读 · 0 评论 -
[转载]TGA文件内部格式及程序实现
原文地址1:TGA文件内部格式及程序实现作者:宁波搬家原文地址2:TGA文件的加载 作者:wangguang246(本人取了原文地址1中的对文件格式的解释部分,取了原文地址2的源代码重新排列成本文)继位图之后,我们来看看Tga图片的格式,以及程序实现。 一、 文件格式Tga常见的格式有非压缩RGB和压缩RGB两种格式,其他格式的我们在这里不做讲述。文件转载 2013-07-21 02:41:19 · 4433 阅读 · 0 评论 -
注册你自己的伪协议
原文地址注册你自己的伪协议如果你安装了QQ或者TM,在地址栏输入如下形式:便会调用Timwp.exe会进行解析处理。这种形如标准协议HTTP,FTP的自定义协议叫做伪协议。如何注册一个伪协议?其实很简单,只要修改注册表相关地方即可。下面是注册伪协议的函数:// *****************************************************转载 2013-07-21 02:57:04 · 3104 阅读 · 0 评论 -
c++多线程实例
原文地址注意:在编译多线程文件之前,在VC上要作相应的设置Projects->settiong->C/C++,选择Category:Code Generation,Use run-time library:Debug MutiThreaded#include #include // for STL string class#include转载 2013-07-21 02:45:27 · 1452 阅读 · 0 评论 -
挂起一个进程
文章文字解说转载自“珠穆朗玛”:http://sluttery.blog.163.com/blog/static/20277252005813749336/源代码来自“开源中国”的sincoder:http://www.oschina.net/code/snippet_196111_14193声明:两位作者本人不认识,与之相关的技术本人很陌生,只是见到以后可能用到就摘录下来转载 2013-10-15 23:22:36 · 8212 阅读 · 4 评论 -
VS2010 动态库开发——第一章演练:创建和使用动态链接库 (C++)
VS2010 动态库开发——第一章演练:创建和使用动态链接库 (C++)Visual Studio 2010 其他版本 Visual Studio 2008 Visual Studio 2005我们将创建的第一种类型的库是动态链接库 (DLL)。 使用 DLL 是一种重用代码的绝佳方式。您不必在自己创建的每个程序中重新实现同一例程,而只需对这些例程编写一次,然后从需要该功能的应用程序引转载 2014-06-01 17:08:31 · 1890 阅读 · 0 评论 -
C++操作输入法的函数
int SipEnumIM( IMENUMPROC pEnumIMProc );该函数枚举当前存在的输入法转自http://www.devdiv.com/thread-20281-1-1.html int SipEnumIMProc( IMENUMINFO* pIMInfo );回调函数,配合SipEnumIM函数使用BOOL SipGetCurrentIM( CL转载 2013-02-21 22:58:59 · 6643 阅读 · 0 评论