C/C++
文章平均质量分 84
C/C++
夜猫逐梦
2022,希望在CSDN上总结并分享一个14年老二次猿的职业生涯。
大二开始有了自己的电脑。
大三参加ACM。
大四组建ACM社团,第一批报名就超过百人。
大四上学期末(10年底)开始北漂,毕业后入职北京瑞星,后又就职于搜狐畅游,从事反外挂相关业务。
15年开始了半年的沿海旅游,之后又是半年的“自由职业”。
之后从事游戏相关行业逆向开发至今。
逆向,网络安全,全栈,啥都会点,算个技术控吧。
记录并分享知识和经验,结交有志之士,共同进步。
展开
-
【C++】 C++11 新特性探索:decltype 和 auto
decltype 和 auto 是 C++11 引入的两个重要关键字,它们为我们提供了更强大、更灵活的类型推导和变量声明方式。因此,在使用这两个关键字时,我们应该权衡代码的简洁性和可读性,并根据实际情况做出合适的选择。在某些情况下,函数的返回类型可能会非常复杂,使用 decltype 可以避免手动编写冗长的类型说明。decltype 关键字用于推导表达式的类型,它可以根据表达式的结果推断出返回类型。auto 关键字用于自动推导变量的类型,它可以根据变量的初始值推断出最合适的类型。操作和范围循环等场景。原创 2023-12-16 22:06:30 · 938 阅读 · 0 评论 -
【cef】2023最新windows编译全流程
运行完成后会出现如下报错,关闭当前cmd窗口,重新打开一个新的cmd,进入C:\my_cef\source\depot_tools 下执行 update_depot_tools.bat 即可。如果你不想编译某个分支的最新版代码,可以指定具体的提交,只用设置CEF的提交就行,Chromium会跟着切换 即编译命令中 用到的checkout 版本号,默认是最新一次提交。等待漫长的编译过程,期间CPU 会被占满 啥也别干,等就可以了,编译完成后会有一个打包错误,忽略掉,关闭当前cmd。原创 2023-07-21 10:05:28 · 858 阅读 · 2 评论 -
【C++】在线编译器推荐,让你随时随地编写代码
主要用于看代码编译展开后的具体情况,是个学习 C++ 模板时不错的辅助工具。可以测试、比较不同 C++ 代码的编译开销(CPU、内存、I/O)C++ Insights(学习模板、C++11等新特性的工具)C++ Insights(学习模板、C++11等新特性的工具)CodeChef (多语言、学习平台)CodeChef (多语言、学习平台)2️⃣ 不支持调试网站。2️⃣ 不支持调试网站。作用:分析代码编译效率。1️⃣ 支持调试网站。3️⃣ 性能分析网站。1️⃣ 支持调试网站。3️⃣ 性能分析网站。原创 2023-06-14 19:11:37 · 16181 阅读 · 2 评论 -
【C++】 Lambda表达式详解
仿函数的语法几乎和我们普通的函数调用一样,不过作为仿函数的类,都必须重载operator()运算符,仿函数与Lamdba表达式的作用是一致的。如果Lambda表达式的函数体只有一条语句,且该语句的返回值类型可以自动推导,则可以省略返回值类型和return关键字。记得去年立了一个重学C++新特性的flag,可是真的太忙了,大部分精力都花在全栈上了,今年开始看一些开源源码,发现各种奇怪的语法,根本看不懂,,它可以方便地定义一个匿名函数,从而简化代码的编写。,可以像函数一样被调用,也可以作为函数参数或返回值。原创 2023-06-09 23:04:05 · 2035 阅读 · 2 评论 -
【vcpkg】cpprestsdk编译链接及实战 Chrome Devtool Protocol
Chrome Devtool Protocol 的 C++版本接口实现原创 2022-07-14 18:30:00 · 775 阅读 · 0 评论 -
【vcpkg】POCO库编译链接总结
文章目录导读开发环境POCO 与 Boosth2h3文章小结参考资料导读上一篇说了《boost编译链接》相关内容,这节要说的是另一个C++库POCO。先看下github基本资料:从图中我们可以看到,poco的Star和Fork量比boost还要高出不少,虽然POCO身边的人用的不多,但是这个库绝对可以用上一用。(之前还用过一个Neptune的C++库,查了下github,只有几十人的Star,以后抛弃掉吧)。最后再简单说下POCO的优点吧:C++ 类库的集合,在概念上类似于 Java原创 2022-05-17 12:18:52 · 795 阅读 · 0 评论 -
【vcpkg】boost编译链接总结(探究vcpkg编译boost偷偷做了哪些修改)
文章目录导读开发环境编译过程安装vs2019安装vcpkg安装指定版本的boost 1.77编写测试代码步骤文章小结vcpkg install boost:x86-windows-static-rel-v142其他命令参考资料导读开发环境版本号描述操作系统Win11-21H222000.588VS2019工作目录J:_ALL\CODE\vcpkg编译过程安装vs2019略安装vcpkg打开powershell。切换到目录cd J:\_AL原创 2022-05-13 23:57:14 · 1952 阅读 · 0 评论 -
[13年后再看C++] 导读
文章目录为什么要重新学C++(Why)都有哪些方面(What)什么时候(When)怎么学(How)参考资料为什么要重新学C++(Why)温故知新对自己的总结分享都有哪些方面(What)语言层面语法四大组成原理对象模型C++17及未来的C++boost什么时候(When)每周两到三次更新文章怎么学(How)实例直播汇编+调试参考资料...原创 2022-01-05 23:57:20 · 442 阅读 · 0 评论 -
【算法】排序算法稳定性分析及常见算法JavaScript实现
这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。原创 2010-12-23 12:09:00 · 1693 阅读 · 2 评论 -
Google面试题(六)
题目:对现在的Stack(栈)数据结构进行改进,加一个min()功能,使之能在常数,即O(1),时间内给出栈中的最小值。可对push()和pop()函数进行修改,但要求其时间复杂度都只能是O(1)。 分析:要使pop,push,min都是O(1),所以肯定要牺牲点空间 思路:1:在stack的数据结构中加两个个字段,如 typedef struct { int data[MAX]; int top; int min;转载 2011-01-11 12:31:00 · 542 阅读 · 0 评论 -
排序算法集合——严蔚敏
// Win32_Console.cpp : Defines the entry point for the console application.//#include "stdafx.h"using namespace std;#define MAXSIZE 20typedef int KeyType;typedef struct _RedType{ KeyType key; int next; BOOL operator ret原创 2010-12-21 09:11:00 · 792 阅读 · 0 评论 -
快排 qsort详解
<br />很多人问这个东西.我以前也看了好久,今天翻到以前学快排的时候写的练习code,基本上<br />能覆盖绝大部分用法了.<br /><br />里面有很多地方没判断相等的情况,按道理来说相等情况下应该返回0的,这个请看代码的<br />时候注意.我尽量保证代码不出错了.<br /><br />下面的这些说明和问题都是个人原创,没查什么资料,所以不保证其完全正确性,在此表示个<br />人不对出现的问题负任何责任,大家WA了或者干吗的不要怪我,不过至少目前来说原创 2010-12-23 12:08:00 · 709 阅读 · 0 评论 -
详细解说 STL 排序(Sort)
<br /><br /> 详细解说 STL 排序(Sort)作者WinterZT:http://www.stlchina.org/twiki/bin/view.pl/Main/STLSortAlgorithms详细解说 STL 排序(Sort)0 前言: STL,为什么你必须掌握1 STL提供的Sort 算法1.1 所有sort算法介绍1.2 sort 中的比较函数1.3 sort 的稳定性1.4 全排序1.5 局部排序1.6 nth_element 指定元素排序1.7 partition 和stable_转载 2011-02-24 13:49:00 · 598 阅读 · 0 评论 -
面试宝典
Q1:下列语句正误?why?int main(){char* pch="kinghz";*pch='q';return 0;}int main(){char pch[]="kinghz";*pch='q';return 0;}Q2:不用判断语句求整数a,b较大值。A: int bigger(int a,int b){return ((a + b) + abs(a -b))/2;}原创 2010-12-21 14:20:00 · 434 阅读 · 0 评论 -
如何学习vc++(vc的用处)
<br />1 vc的用处<br />我感觉下面一些领域比较适合于用vc: 操作系统编程,game,图形设计,corba编程,com编程,网络编程。<br />我谈谈我的体会。我现在在深圳的一家公司从事IP电话网关的开发。通过这个项目,我 才真正体会到VC有多么强大,上百个线程同时工作,数据库并发访问,而且全部软件基 于COM构造,这样高性能的大型软件,只有VC方显出其英雄本色!不过,在国内,有机会 接触这样的大型系统软件的不多。而在做大型系统软件时,对VC程序员的要求就不仅仅原创 2010-12-19 11:47:00 · 473 阅读 · 0 评论 -
[转]overload-重载 override-覆盖 overwrite-重写或隐藏
<br /><br />转自:http://blog.csdn.net/longhaobo11/archive/2005/12/15/553474.aspx<br />1.C++中三个概念<br />函数重载:<br />在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,即函数重载。<br />重载的实现:<br />几个同名的重载函数仍然是不同的函数,它们是如何区分的呢?我们自然想到函数<br />接口的两个要素:参数与返回值。如果同名函数的参数不同(包括类型、顺序不同),那么容易区别出它们转载 2011-01-26 08:52:00 · 577 阅读 · 0 评论 -
[转]overload-重载 override-覆盖 overwrite-重写或隐藏
<br /><br />转自:http://blog.csdn.net/longhaobo11/archive/2005/12/15/553474.aspx<br />1.C++中三个概念<br />函数重载:<br />在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,即函数重载。<br />重载的实现:<br />几个同名的重载函数仍然是不同的函数,它们是如何区分的呢?我们自然想到函数<br />接口的两个要素:参数与返回值。如果同名函数的参数不同(包括类型、顺序不同),那么容易区别出它们转载 2011-01-26 08:52:00 · 482 阅读 · 0 评论 -
[STL]函数对象/仿函数
<br /><br />提到C++ STL,首先被人想到的是它的三大组件:Containers, Iterators, Algorithms,即容器,迭代器和算法。容器为用户提供了常用的数据结构,算法大多是独立于容器的常用的基本算法,迭代器是由容器提供的一种接口,算法通过迭代器来操控容器。接下来要介绍的是另外的一种组件,函数对象(Function Object,JJHou译作Functor仿函数)。什么是函数对象<br /> 顾名思义,函数对象首先是一个对象,即某个类的实例。其次,函数对象的行为和函数一致转载 2011-01-26 19:06:00 · 661 阅读 · 0 评论 -
类的static,const,static const , const static成员的初始化
来源:中国自学编程网 发布日期:2009-02-09 学习过C++已经好长时间了,但是一直都没机会去写C++代码,所以很多东西都已经给遗忘了。趁着假期,我重新找到了C++的学习资料来复习,并且写下一些学习的笔记,供自己以后复习之用。下面是我的关于类的static,const,static const , const static成员的初始化问题的学习笔记。 1.类里的const成员初始化: 在一个类里建立一个const时,不能给它初值。像 cla转载 2011-01-09 16:15:00 · 482 阅读 · 0 评论 -
C++ 学习(一)类型转换
<br />http://www.cppblog.com/yearner/archive/2008/05/20/50457.html<br /> <br />1.类型转换按方式分为隐式转换和显式转换。<br /> 隐式转换:由编译器自动完成,无需用户干预。<br /> 显式转换:采用一定的形式进行转换:类型名(数据) / C中(类型名)数据<br />2.关于转换构造函数<br /> 构造函数的一种,主要用于类型转换,格式严格规定为单参数构造函数。<br />转载 2011-01-22 11:52:00 · 425 阅读 · 0 评论 -
写无限大空文件
<br />#include <stdio.h><br />void main() <br />{<br /> FILE *fp; <br /><br /> fp=fopen("data.dat","w+"); <br /><br /> fseek(fp, 1000000000L,SEEK_END);<br /><br /> putw(0,fp); <br /><br /> fclose(fp); <br /><br /><br />}原创 2011-01-05 11:01:00 · 697 阅读 · 0 评论 -
VC入门的一条路 (一个暑假应该够用了)
VC入门的一条路<br />首先声明,我可不是什么高手,也就是刚脱贫。因为运气很好,买到了几本好书,在学习过程中几乎没走什么弯路,没费什么劲就入门了,现在一般的小程序能搞定了。看到那些因为不知从何下手而苦苦挣扎的朋友,希望我的文章能给他们一些帮助。 <br />学编程急不得,上来就学VC肯定碰一头灰,说VC难就难在这点上了。如果硬上,意志坚强的话也许能挺过来,但也是会缺乏后劲,不得不回过头来补习基础知识。意志不坚强的话,很有可能就此放弃了,并留下一个原创 2010-12-19 11:19:00 · 805 阅读 · 0 评论 -
WTL::CString中的一点缺陷及修改- -
<br /> 在以前我做过的一个使用了WTL的项目中碰到过一个很有趣的问题。我们先是做了一个原型版,是一个单独的EXE。后来将它分成了不同的模块,除了界面部分,其他模块都用DLL实现。在无界面的DLL模块中大量使用了WTL::CString类,因为这个实现比MFC的CString实现要快,功能也更加全面。<br /> 可是在集成的时候我们就发现很多跨DLL边界传递的WTL::CString对象会出错,经常是在释放的时候出现内存错误。<br /> 后来经过跟踪和看WTL的源码,找到了原因。<br /><b转载 2011-01-17 15:54:00 · 1170 阅读 · 1 评论 -
VC学习方法精髓
<br />以下是很多VC爱好者的学习经历,希望对大家有所帮助: <br />我记得我在网上是这么说的:先学win32的SDK,也就是API, <br />再学MFC,这么一来呢,就先有个基础,MFC是API的封装, <br />如果API用的熟了,MFC上手就轻松的多了。 <br />我觉得呢,现在不少WINDOWS编程入门的好书很多,多买一些,多看看,多想想。不要心浮气躁。我的经验就是一边看书,一边写程序,看看是不是书上说的那样。看书看明白了不行,自己做对了这个过程体会就不一样了,做原创 2010-12-19 11:22:00 · 519 阅读 · 0 评论 -
如何成为一名优秀的程序员?
一位仁兄说的“程序员写的程序不是算法+语法 ,而是要能够满足用户需求的工 具”我非常赞同,要想达到用户需求就必须从各个方面来考虑如业务、人机交互 、效率等方面,而不只是一个语言(语法)的问题,语言(语法)只是工具,只 知语法不知其他那就真是编程机器了! 编程机器在印度高中生经过几个月培训,按照严谨的软工方法,加上较高的管理 ,就可以胜任了!大家相信吗,我是相信的!谈到这里我就不禁说到了国内教育 界最近在探讨的问题“计算机科系的毕业生特别是本科大专生到底出来干啥、如 何适应社会要求”,大家转载 2010-12-19 10:59:00 · 893 阅读 · 2 评论 -
C++常识之——C++中堆和栈的区别,自由存储区、全局/静态存储区和常量存储区
<br />在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。<br />栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。<br />堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。<br />自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用转载 2011-01-22 11:38:00 · 523 阅读 · 0 评论 -
学习c++的50条忠告(初学者必看)
<br />1.把C++当成一门新的语言学习(和C没啥关系!真的。); <br />2.看《Thinking In C++》,不要看《C++变成死相》; <br />3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; <br />4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; <br />5.不要放过任何一个看上去很简单的小编程问原创 2010-12-19 11:03:00 · 377 阅读 · 0 评论 -
C++ 继承真正在做的事系列【重载,重写/覆盖,隐藏】
<br /><br />这三个概念是讨论的函数名相同的情况,不要后面要问怎么函数名不同的时候不讨论呢?那你现在最好要确定下函数名不同值得讨论吗?<br />-----------------------------------------------------------------------------------------------------------------------------------<br /> <br /> 这个B里面增加什么东西会是上面的概念呢?<br />-转载 2011-01-26 09:11:00 · 750 阅读 · 0 评论 -
[转] 彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则
<br /><br />一 :关于指针和堆的内存分配<br />先来介绍一下指针: 指针一种类型,理论上来说它包含其他变量的地址,因此有的书上也叫它:地址变量。既然指针是一个类型,是类型就有大小,在达内的服务器上或者普通的PC机上,都是4个字节大小,里边只是存储了一个变量的地址而已。不管什么类型的指针,char * ,int * ,int (*) ,string * ,float * ,都是说明了本指针所指向的地址空间是什么类型而已,了解了这个基本上所有的问题都好象都变的合理了。<br />在C++中,申请转载 2011-01-22 11:40:00 · 474 阅读 · 0 评论