C++
文章平均质量分 87
liaomin416100569
这个作者很懒,什么都没留下…
展开
-
linux下gcc编程12-window下clion编译调试redis7.0
Redis 通常被称为数据结构服务器。这意味着 Redis 通过一组命令提供对可变数据结构的访问,这些命令使用具有 TCP 套接字和简单协议的服务器-客户机模型发送。因此,不同的进程可以以共享的方式查询和修改相同的数据结构。另一个很好的例子是将 Redis 视为 memcached 的一个更复杂的版本,其中的操作不仅仅是 SET 和 GET,还包括处理复杂数据类型(如 List、 Set、有序数据结构等)的操作。原创 2022-12-15 18:39:25 · 671 阅读 · 0 评论 -
linux下gcc编程11-window下clion编译调试nginx+集成lua-nginx-module+安装开源x-waf
nginx作为项目的7层代理入口,对于http请求的过滤,如sql注入,xss攻击等过滤功能较弱,研究了下开源的一些waf,完全开源的https://github.com/xsec-lab/x-waf,利用lua来过滤请求,同时拥有一个管理控制台,添加规则和代理,但使用过程中,缺少文档,碰到以下问题,促使用window编译通过源代码分析下有些规则失效愿意。原创 2022-11-23 12:27:59 · 1534 阅读 · 0 评论 -
linux下gcc编程10-clion编译调试nginx
文章目录1。clion简介1.1 clion安装1。clion简介CLion是Jetbrains公司旗下新推出的一款专为开发C/C++所设计的跨平台IDE,它是以IntelliJ为基础设计的,同时还包含了许多智能功能来提高开发人员的生产力。同样支持python哦,相信使用过IntelliJ idea开发过java的盆友都很清楚该IDE的强大,所以做为Jetbrains旗下的c/c++开发工具...原创 2020-03-27 12:02:36 · 3250 阅读 · 3 评论 -
Handle ,HMODULE ,HINSTANCE,HINSTANCE
Handle 是代表系统的内核对象,如文件句柄,线程句柄,进程句柄。 HMODULE 是代表应用程序载入的模块,win32系统下通常是被载入模块的线性地址。 HINSTANCE 在win32下与HMODULE是相同的东西,在Win32下还存在主要是因为win16程序使用HINSTANCE来区别task。 HWND 是窗口句柄。转载 2016-07-24 23:41:48 · 1637 阅读 · 0 评论 -
C++入门
C++控制台程序 win32报错这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。 解决方法:1.进入project->setting->c/c++, 在category(第一行)中选择preprocessor,在processor definitions中删除_WINDOWS, 添加_CONSOLE2.进入project->setting->Link, 在Project options中将/subsystem:windows.改为/subsystem:cons原创 2010-06-09 22:39:00 · 507 阅读 · 0 评论 -
Vc中结构体小计
#include "iostream"#include "string"using namespace std;/************************************************************************//* 定义了一个结构体原创 2015-11-28 22:06:53 · 580 阅读 · 0 评论 -
函数声明后面加个stdcall是什么意思
函数声明后面加个stdcall是什么意思 在Win32汇编中,我们经常要和Api打交道,另外也会常常使用自己编制的类似于Api 的带参数的子程序,本文要讲述的是在子程序调用的过程中进行参数传递的概念和分析。一般在程序中,参数的传递是通过堆栈进行的,也就是说,调用者把要传递给子程序(或者被调用者)的参数压入堆栈,子程序在堆栈取出相应的值再使用,比如说,如果你要调用 SubRouting(Va原创 2012-11-06 19:35:40 · 3416 阅读 · 1 评论 -
window打开指定目录下文件并选中
在开始运行中输入:"C:\WINDOWS\explorer.exe" /n,/select,"C:\ActionScript3.0完全自学视频教程_A.rar"原创 2014-08-28 08:53:49 · 1355 阅读 · 0 评论 -
获取任务栏所有正在运行程序
mfc程序添加 CListCtrl名称 m_userlist原创 2014-08-09 15:44:58 · 3057 阅读 · 1 评论 -
linux下gcc编程08-编译linux内核
一。 linux内核简介Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。linux内核内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。 Linux 内核由如下几...原创 2018-10-18 14:45:09 · 1295 阅读 · 0 评论 -
linux下gcc编程09-编写内核helloworld模块
一。内核动态模块介绍 Linux内核给开发者提供了灵活的模块加载方式,开发者可根据需要适当地选择静态或动态的方式将模块加入内核当中。静态加载的时候我们只需将驱动文件添加到对应的文件夹中并修改相应的Makefile和Kconfig即可,但是通过动态加载模块的方式,如果只是编译一个小的驱动文件而对内核大动干戈,那样编译的时间不仅长而且修改内核配置文件也是一件多余的工作。那么我们是否可以在不修...原创 2018-10-18 17:08:11 · 1052 阅读 · 0 评论 -
linux下gcc编程01-gcc工具安装和使用
一。 gcc介绍 Linux系统下的gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。 gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。 gcc编译器能将C、C++语言源程序、汇程式化序和目标程序编译、连接成可执行文件,如果没有给出可执行文件的名字, gcc...原创 2018-10-17 11:25:18 · 4557 阅读 · 0 评论 -
linux下gcc编程02-gdb调试工具使用
一。gdb调试工具简介 GDB(GNU Debugger)是GCC的调试工具。其功能强大,现描述如下: GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2.可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3.当程序被停住时,可以检查此时你的程序中所发生的事。 4.动态的改变你程序的执行环境。gdb...原创 2018-10-17 11:25:40 · 454 阅读 · 0 评论 -
linux下gcc编程03-make工程管理
一。 make工程管理器简介 工程管理器是指管理较多的文件。如果有一个上百个文件的代码构成的项目,如果其中只有一个或少数几个文件进行了修改,按照之前所学的Gcc编译工具,就不得不把这所有的文件重新编译一遍,因为编译器并不知道哪些文件是最近更新的,而只知道需要包含这些文件才能把源代码编译成可执行文件,于是,程序员就不能不再重新输入数目如此庞大的文件名以完成最后的编译工作。 ...原创 2018-10-17 11:25:55 · 326 阅读 · 0 评论 -
linux下gcc编程05-window下开发工具安装
一。 window下开发环境安装 Unix下编译通过的C代码,在win32下编译是不能通过的 ,当然Unix 和win32的API都是符合标准C,也就是说,大多数函数调用在unix和win32下是相同的.但是,unix有自己一些独特的API(如fork,spawn,signals,select,sockets等),如果代码中使用了这些API,在win32下当然找不到对应的库. 但是,...原创 2018-10-17 11:26:30 · 232 阅读 · 0 评论 -
linux下gcc编程06-c语言参考手册
一。 c语言标准库介绍stdlib里的是常用系统函数,跟系统调用相关的,比如内存申请malloc和释放freestdio是标准io函数,比如printf和scanf函数所有参考函数 来自 :http://www.he11oworld.com/c-shouce/ http://www.runoob.com/cprogramm...原创 2018-10-17 11:26:42 · 1963 阅读 · 0 评论 -
linux下gcc编程07-使用linux下c库函数
一 。linux c库函数简介linux下用于c编程的头文件 位于以下目录/usr/local/include/usr/lib/gcc-lib/target/version/include/usr/target/include/usr/include库文件一般位于/usr/lib或/lib或/lib64二。常用库函数分类示例1.文件操作库 参考linuxc常...原创 2018-10-17 15:28:01 · 881 阅读 · 0 评论 -
MFC 获得各类指针、句柄的方法
GET App AfxGetInstanceHandle() AfxGetApp() GET Frame->View->Document SDI AfxGetMainWnd() -> GetActiveView() -> GetDocument() MDI AfxGetMainWnd() -> MDIGetActive() -> GetAct原创 2014-08-11 08:55:04 · 752 阅读 · 0 评论 -
CEDIT一些操作
cedit 回车窗口消失 这是因为创建chua原创 2014-08-20 22:43:58 · 787 阅读 · 0 评论 -
利用设备描述符画图
// TODO: 在此添加消息处理程序代码和/或调用默认值 //利用window object 操作设备上下文HDC 画图 HDC hdc; hdc=::GetDC(m_hWnd); MoveToEx(hdc,cpoint.x,cpoint.y,NULL); LineTo(hdc,point.x,point.y); ::ReleaseDC(m_hWnd,hdc); CDialog::OnLButtonUp(nFlags, point); //mfc封装cdc利用CDC操作 CDC* cdc=CWnd原创 2010-08-07 10:47:00 · 591 阅读 · 0 评论 -
C++指针与引用
#include //引用传递int add1(int &x,int &y){ x=5; return x+y;};//指针传递int add2(int *x,int *y){ *x=5; return *x+*y;};//值传递int add3(int x,int y){ x=5; return x+y;};void main(){ int a=1; int &b=a;//引用,表示b的引用指向了a 定义引用 &开头 必须赋初值 引用变量不占用内存 //如果是指针 指针也会占用一片内存,你获取不到原创 2010-06-10 00:20:00 · 468 阅读 · 0 评论 -
c++继承与多态
继承#include class A{public: static void add(){ cout }};class Person{public: Person(int hand) { this->hand=hand; } int hand; void walk() { cout } void eat() { cout }};//如果public不写 能够实例化Chinese 不能调用Person的属性及方法 除非重写//proteced外部不能访问 子类中可以访问class Chinese原创 2010-06-10 00:26:00 · 504 阅读 · 0 评论 -
C++头文件定义与实现
c++习惯将定义放在头文件中 实现放在cpp文件中 容易出现的错误错误1:error C2143: syntax error : missing ';' before 'PCH creation point'该错误是因为 头文件类定义结束时要加 ;结尾 不然会出现上错误错误2:error LNK2001: unresolved external symbol "public: void __thiscall Person::eat(void)" (?eat@Person@@QAEXXZ)Debug/Hea原创 2010-06-10 20:14:00 · 1005 阅读 · 0 评论 -
vs2005 "automation服务器不能创建对象"解决方法.
<br />创建c++工程时 报vs2005 "automation服务器不能创建对象"解决方法. <br /> <br /> <br />点击 开始--运行--regsvr32 scrrun.dll 重新创建工程 即可原创 2010-08-07 10:12:00 · 849 阅读 · 0 评论 -
创建一个输入标识符 也就是一个输入的光标
代码如下 //获取设备描述符 CClientDC dc(this); //当前字体的计量单位信息 TEXTMETRICW tm; //全局的函数 获取当前设备下的字体信息 ::GetTextMetrics(dc,&tm); //获取当前窗口的高度 SM_CYBORDER高度 SM_CXBORDER表示宽度 int height=GetSystemMetrics(SM_CYBORDER); //创建一个输入标识符 也就是一个输入的光标 CWnd::CreateSolidCaret(tm.tmAveCharW原创 2010-08-07 15:34:00 · 702 阅读 · 0 评论 -
java调用jni
<br />新建一个java类<br /> <br />package com.lh;<br />public class HelloWorld {<br /> static{<br /> System.loadLibrary("dllTest");//该名称是生成的dll的名字<br /> }<br /> public native void say();<br />}<br /> <br /> <br />使用jdk命令 生成 c++ 头文件 【头文件相当于java接口】<br /> <br />原创 2010-06-15 13:12:00 · 681 阅读 · 0 评论 -
C++创建jni 并且利用rundll32.exe调试jni程序
eclipse 下新建工程 ctool建立包 com.c.utils新建类 ProxyUtil.java内容如下package com.c.utils;public class ProxyUtil {static {System.loadLibrary("cdll");}public native String getIEProxy();public static void main(String[] args) {ProxyUtil util=new ProxyUtil();System.out.pri原创 2010-10-19 16:00:00 · 1187 阅读 · 0 评论 -
C++的声明和定义的出别
<br />声明 内存是不会分配地址的用 关键字 extern表示 当然 不写默认也是extern<br />声明的时候 参数可以只写类型不写别名 当然也可以写<br />比如:<br /> <br />extern double add(float,float);<br /> <br />在后面就一定要实现他<br />实现的过程就是定义了<br /> <br />double add(float a,float b){<br /> return a+b;<br />};原创 2010-12-19 17:05:00 · 645 阅读 · 0 评论 -
c语言malloc和calloc使用心得
在c 中局部变量 静态变量 形参的内存是栈内存 是编译器分配的 而堆内存是用来存储结构 对象等信息可以使用指针等操作 指针需要分配足够的内存 使用malloc calloc等方法realloc是给一个已经分配了地址的指针重新分配空间,参数ptr为原有的空间地址,newsize是重新申请的地址长度void* realloc(void* ptr, unsigned newsize);malloc用于申请一段新的地址,参数size为需要内存空间的长度,如:char* p;p=(char*)malloc(20);原创 2011-02-16 16:28:00 · 4585 阅读 · 0 评论 -
c语言中指针中 -> 和 。的区别
比如有如下结构 typedef strut node{ int data; strut node * next; } ListNode; ListNode * p=(ListNode *) malloc(sizeof(ListNode)); 上面语句中涉及到 指针变量和结点变量两个概念变量p 是ListNode * 类型的指针变量 p的值指向某一原创 2011-10-25 09:51:31 · 965 阅读 · 0 评论 -
常用的gcc命令
gcc命令用于生成c语言的库g++用于生成c++的库 使用g++ --help查看帮助 g++ class\First.cpp -static -g -o First编译 First.cpp 生产一个 名字为First.exe的文件 生成.o文件g++ -O0 -g3 -Wall -c -fmessage-length=0 -oFirst.o First.原创 2011-12-10 17:59:39 · 648 阅读 · 0 评论 -
MYECLISE6.5下CDT安装
cdt的自动更新地址或者完整的zip包在该地址都可以找到 http://archive.eclipse.org/tools/cdt/releases/eclipse3.1/ 也可以到 http://download.eclipse.org/tools/cdt/builds/ 找到更多eclipse不同版本的插件包 安装完cdt后 需要安装 c++的 编译器 就是将c++类原创 2011-12-10 16:14:24 · 775 阅读 · 0 评论 -
C++ NULL的使用
在c++中Null是表示0 对象如果构造方法中不是只有一个int型参数是不能将NULL赋值给对象NULL 只能用于指针对象赋值比如 Point* point=NULL;或者判断if(point==NULL){}如果是Point point下面是不对的if(point==NULL){}原创 2012-01-04 09:45:33 · 1316 阅读 · 0 评论 -
c++中所有关键字的解释
inline比如在类中定义了一个属性size 是private私有的为了取该属性 我们定义一个方法:public int getSize(){ return size;}当我们在main方法中调用getSize()时 编译方法时需要耗费一定的内存 可以使用关键字inlinepublic int inline getSize(){ return size;}比如在调用时int size=cls.getSize() 编译时 自动替换成 int size=cls.size 此时不需要方法这个原创 2011-02-18 13:42:00 · 1486 阅读 · 0 评论 -
关于时间的一些理解
UTC时间 和本地时间原创 2014-07-29 11:17:30 · 875 阅读 · 0 评论