自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (12)
  • 收藏
  • 关注

原创 MFC调用dos窗口使用printf,cout打印输出

当我们使用AllocConsole函数调用一个dos窗口时,mfc为我们提供了几个打印函数比如_printf等用来向此终端打印输出信息,但是你会发现标准c语言的printf失效了,是因为mfc在帮我们调用的dos窗口里的输入输出缓冲区被重定向了,被重定向为STD_OUTPUT_HANDLE宏,而printf使用的是stdout宏作为io文件流描述符,所以我们对此宏以文件流的方式进行重定向即可:#...

2018-06-27 17:27:23 2375

原创 C语言实现费氏数列

此题面试时会常常考到,费氏数列的实现规则如下:假定n=10,那么输出十个费氏数列首先要明白费氏数列的实现规则,第一:假定n=10的情况下,那么实现规则如下:1 1 2 3 5 8 13 21 34 55 89不知道有没有发现规律,规律就是每次的新值都会和前一个相加,而前面会打印两次1是因为费氏数列每次都从1开始计算,第一次是1但是1前面没有任何可加值所以1+0还是=1,但是到了第三次,1前面已经有...

2018-06-27 17:06:18 1892 3

原创 有趣的检查边界面试题

最近博主在某个群内有位程序员去面试遇到一个面试题:此宏函数用来检查存储边界的对齐,请输入?应该填写什么?#define UNA(x)((long)(x)&(?))博主刚开看还真有点郁闷不知道填什么,后面梳理了一下这句话:此函数用来检查存储边界的对齐,仔细看一下这段代码(long)(x)这段代码表示传递进来的值会被显示声明为long型也就是整数型其实也是显示的告诉编译器这个值是个整数(这样做...

2018-06-26 03:25:26 449

原创 C/C++三个标准设备文件句柄

在c/c++中定义了三个标准宏:stdout(Standardoutput)标准输出stdin(Standardinput)标准输入stderr(Standarderror)标准错误这些宏分别对应不同的设备句柄stdout对应的是屏幕,一般来说指的是终端窗口上的显示文字信息的屏幕!stdin对应的是输入缓冲区stderr和stdout对应的是一样的,这个宏是给perror使用的,这里就顺便补充一下...

2018-06-26 02:27:50 2102

原创 使用select模型详细介绍并使用此模型来监视标准输入缓冲区stdin里是否还有数据

select是sock通讯下的一个api,主要用来检查sock文件描述符所指向的文件缓冲区里的状态,最常用的检查缓冲区里是否还有数据,在sock模型下凡事从网络中发来的数据都会临时存放到缓冲区里,然后程序员使用read等函数读走,这个函数不仅可以用来检查sock文件描述符,同时还可以用来检查标准的c语言输入输出缓冲区的状态!函数原型:int select( int nfds, fd_set FAR...

2018-06-26 02:07:50 1680

原创 Linux下使用exec命令将文件与文件描述符关联

在shell脚本下exec为系统自带的脚本命令,其作用是用来执行其他程序:语法格式:exec (选项)(参数)选项:-c:在当前环境下执行命令,即在当前shell脚本下执行,而不是打开一个新的shell参数:要执行的脚本示列:exec -c echo linux输出:linux 其效果与:echo linux是一样的,并且exec还可以用来指定文件描述符首先要知道什么是文件描述符:文件描述符是...

2018-06-25 03:28:50 1538

原创 C/C++实现按下任意键继续功能

当我们在使用系统命令:stop时会在终端下弹出:按下任意键继续的代码!这里只需要C/C++自带的函数即可:kbhit函数原型:int kbhit(void);返回值:如果有按键按下返回非0否则返回0函数介绍:此函数是C/C++里的一个自带函数,可以用于监视键盘输入事件,当有键盘在当前线程下按下按键时,此函数会监视按键消息,但不会返回键代码!示列:所需头文件: include <conio.h...

2018-06-25 02:17:34 12123

原创 Windows核心编程_Hook

一、前言Hook是Windows下的一个机制,Hook的中文意思是钩子的意思,顾名思义,钩子就是用来钩东西的,就好像钓鱼一样,你把鱼钩放入鱼塘里,钓到了某条鱼,即便我们不把鱼钓上来,我们可以通过鱼钩知道鱼在做什么,比如鱼飞速游动,鱼钩上的鱼线会做出反应,或者鱼原地不动,我们都可以通过鱼钩知道鱼在做什么!Windows就像一个鱼塘,而程序,就是鱼塘里的鱼,而用来监视这些鱼的鱼钩就是Hook!众所周知...

2018-06-22 16:05:22 13175 5

原创 Windows核心编程_异型窗口

异型窗口是Windows200在窗口中引入的WS_EX_LAYERED风格,并搭配:SetLayeredWindowAttributes API实现的,这里所说的异型窗口不是指椭圆型的窗口或三角型之类的窗口:这一类的窗口在早期的Windows里就已经规定了的,只需要在创建窗口时修改stsy风格就可以了,这里所说的异型窗口是不规则口,比如一些游戏界面:类似这种在Windows并没有显示指定的风格界面...

2018-06-22 15:46:43 1214

原创 Windows核心编程_代码段共享_LocalAlloc/GlobalAlloc区别

数据段共享数据段共享起源于Windows16位的时代,在Win16操作系统时代下,dll全局变量数据段是共享的,比如有同一个dll,名为sll.dll的16位动态库,里面有一个全局变量Int num;有两个操作函数:void setnum(int newnum){ num = newnum;}Int getnum(void){ return num;}当两个16位的进程加载这个动态库时,它们的数据...

2018-06-21 16:45:58 801

原创 单核CPU与多核CPU工作原理

单核CPU与多核CPU工作原理今天要介绍一下单核CPU和单核(超时间轴)CPU以及多核CPU的工作原理 一.单核CPU起源:CPU的起源是1971年英特尔公司推出,由此正式宣告计算机的诞生,可以说是世界级的改变,并且严格准守冯诺依曼体系结构,在英特尔推出CPU之前的计算机所使用的处理器工作是非常麻烦的,需要复杂的线路组合才能使其正常工作,当然英特尔推出的CPU也是需要线路组合,但是相比之前的线路英...

2018-06-21 16:43:43 26155 3

原创 Windows核心编程_窗口子类化

窗口子类化:窗口子类化,即重定向消息,也就是修改某个窗口消息执行函数,重定向下面代码可以让你更好的理解窗口子类化:先介绍三个函数:1.GetWindowLong函数原型:LongGetWindowLong(HWNDhWnd,intnlndex);参数介绍:HWNDhWnd:目标窗口句柄intnlndex:要获取的窗口类型信息:宏定义常量描述GWL_EXSTYLE-20获取扩展窗口样式GW...

2018-06-21 16:42:42 2158

原创 Windows核心编程_FS段寄存器

Windows核心编程_FS段寄存器FS段寄存器Windows用来存储一些进程信息的,FS段的首地址是存储这些进程信息的首地址:在内核态FS指向GDT表的:0x30地址, 在用户态FS=0x3B也就是说当切换到用户态时,操作系统会把进程下正在执行的线程的某些信息写入到0X3B为起始地址的空间里,内核态时候也一样,操作系统也会写入一些关于内核程序的相关信息到0x3B里!由于进程的不同进程信息也不同,...

2018-06-21 16:40:24 4558 2

原创 Windows核心编程_获取鼠标指定位置的RGB颜色值

Windows核心编程_获取鼠标指定位置的RGB颜色值大家平常会见到很多屏幕取色工具,其原理都是获取鼠标位置的屏幕像素点颜色!一般思路都是:获取鼠标位置,然后取出鼠标指向的屏幕像素点颜色!GetCursorPos函数是WindowsSDK库下的一个API函数,用于获取鼠标位于屏幕中偏移的坐标信息!函数原型:BOOL GetCursorPos(LPPOINT lpPoint);参数介绍:LPPOI...

2018-06-21 16:33:49 6875 1

原创 使用Visual Studio来创建动态库/静态库,并加载

使用Visual Studio来创建动态库第一步新建一个控制台程序第二步去掉SDL安全开发周期,以及选中创建DLL空项目在资源管理器中添加.h和.cpp文件在.h文件里可以写上函数的声明:#pragma once //编译器命令 once头文件卫士extern "C"/*以C的方式编译这段函数*/ __declspec(dllexport)/*将一个函数声名为导出函数,就是说这个函数要被其他程...

2018-06-04 16:54:10 6490

原创 MFC程序减少体积的方法

MFC程序减少体积的方法我们先新创建一个MFC程序:去掉安全开发周期检查,在静态库中使用MFC默认创建好之后我们编译看一下体积:DEBUG:9MB多RELEASE:3MB多(优化代码)可以看到MFC框架包含的运行库还是非常多的,但是我们在创建MFC工程的时候以(对话框),有两个选项:HTML对话框,是以HTML超文本文件标记来描述对话框而无增强的MFC控件是指:对一些原基础控件进行增强,继...

2018-06-04 14:10:23 2961 1

原创 获取指定域名的IP地址

获取指定域名的IP地址所需函数:gethostbyname函数原型:struct hostent* gethostbyname(const char *name)参数:const char *name//主机名或域名返回值:函数执行成功会返回一个hostent结构体,其结构体原型如下:struct hostent{char *h_name;//主机正式名char ** h_alia...

2018-06-04 14:02:57 6297

原创 Win32API编程_切换窗口

所需findwindow,SwitchToThisWindowfindwindow函数原型:FindWindow,LPCTSTR lpClassName, // 窗口类名LPCTSTR lpWindowName // 窗口名);返回值:返回获取到的窗口句柄SwitchToThisWindow函数原型:VOID SwitchToThisWindow(HWND hWnd//窗口句柄, BOO...

2018-06-01 16:12:59 4200

原创 直接寻址、间接寻址、立即寻址

一、前言 直接寻址、间接寻址、立即寻址,只是CPU在通过总线与内存交互时的不同交互方法,而产生的三种概念词!对于这些寻址方式,很多人没有听说过,但是对于学习汇编的同学来说,非常熟悉,很多书中都有提到过这几种寻址方式,但是没有细说,这里来给大家详细介绍一下这三种寻址方式的不同体现在哪里!二、直接寻址 直接寻址即直接给出内存单元的物理地址/虚拟地址直接寻址!详细说一下:假如有一个内存,且大...

2018-06-01 11:38:56 58235 7

EM100Pro帮助文档.pdf

EM100Pro帮助文档.pdf

2022-03-11

Sys Loader 驱动加载程序,用于调试驱动

Sys Loader 驱动加载程序,用于调试驱动

2022-02-28

Tflite_Model.rar

包含了两个Tflite模型:人与花

2021-12-09

linux_gcc7_default.tar.gz

gcc7.0可执行文件for linux

2021-12-09

zephyr_install.sh

zephyr的一键自动下载配置脚本

2021-08-05

opencv_dense_flow依赖文件.zip

opencv_dense_flow依赖文件.zip

2021-03-27

work_coolc.tar.gz

cool编译器

2021-01-24

git常用命令.docx

git常用命令

2021-01-01

startup.zip

stm32f10x核心板启动汇编文件

2020-12-23

shellcode.rar

shellcode ,mfc开发的,可以用于将汇编转成shellcode,可以用于测试服务器漏洞,以及软件补丁!

2019-07-12

CharString类库

用于处理字符/字符串,且跨平台能力强,对字符处理API较多,对多格式字符处理有良好的支持

2019-02-22

正规字符模板

正规字符模板 正规字符模板 正规字符模板 正规字符模板 正规字符模板

2018-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除