自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 GNU C printf行缓冲问题

GNU C printf行缓冲问题今天写项目时发现一个令人匪夷所思的问题,就是Printf函数一直打印不出预想的结果,搞得很郁闷排查之后才发现是因为库函数printf的行缓冲的原因简单复现一下:这段代码会打印多少个数字呢?答案是256个,即使循环次数有257次,最后一个由于停留在了缓冲区中没有被打印出来,因此也不会显示在屏幕上。这是由于_exit(0)是内建的不完整的退出函数,并不打算帮你打印完整缓冲区内容再退出程序。如果需要退出的话应当调用exit函数。如果将_exit函数换成一个while(

2022-05-23 00:46:27 207

原创 GetWindowsText无法读取内容,提示cannot read memory of hwnd

使用GetWindowsText函数时一直提示无法读取指定内存的hwnd,返回值为0,GetLastError返回值也为0,排查后发现是传参类型不对,如果不用TCHAR类型的指针便会出错。令人头疼的是Clion只报了Warning,需要重视警告的重要性…...

2022-02-22 23:07:21 443

原创 使用Cmake建立Visual-Studio工程注意事项

使用Cmake建立Visual-Studio工程字符集转换今天写工程时遇到一个奇怪的问题,在Clion下编写CmakeList.txt, 利用VS的编译环境编译代码,编译不报错,但出来的可执行程序却怎么都找不到指定的路径。排查错误后是发现是编译环境的问题导致宽字符串无法识别(即Windows下的w_char类型),在CmakeList.txt中加上下列语句解决:add_definitions(-DUNICODE -D_UNICODE)...

2021-11-27 13:16:38 767

原创 有关C语言中字符串入栈的理解

C语言中字符串的入栈写在前面对于C语言中变量入栈的顺序实际上需要具体情况具体分析,不同操作系统下的编译器可能对此有不同的解释,即使对于同一个C的编译器而言,参数设定的不同也会导致编译器调整局部变量的入栈顺序,例如一种栈溢出的防护方案下,int类型的变量可能始终是最后入栈的。本次实践利用的编译器版本是Windows下的64位编译器: x86_64-pc-cygwin-version 11.2.0我们在test.c中编写如下代码,申请一个局部的字符数组,然后退出。#include <stdio.

2021-10-25 14:21:44 3515

原创 PE结构:导入/导出表

PE结构:导入/导出表导入导出表是PE文件中重要的两张资源表,这两张表会在PE文件执行是被加载进入内存,RVA在映像可选头部的数据目录表中可以查询。一般会被放在.rdata(资源数据段)中EXPORT 导出表DLL链接库文件中的函数有两种导出方式:按名字与按序号导出表格式EXPORT {​ DWORD Export flags; //保留,必须为0​ DWORD Time/Data_Stamp //导出表创建的时间戳​ WORD MajorVersion //主版本号,可

2021-10-21 22:42:33 970

原创 Linux缓冲区溢出攻击详解

Linux缓冲区溢出攻击详解(一)当一个函数被调用后,它会:移动栈指针ESP,EBP。开辟一段栈空间在栈(堆)空间内分配程序申请的局部变量(二)当一个函数去调用另一个函数时,它会:准备入口参数(形参压栈)调用CALL指令(三)当call指令执行时会发生什么?CALL指令下一条指令的地址会被压入栈IP寄存器值发生改变,代码跳转至子程序*(IP如何变化?段间跳和跨段跳有所不同)*(四)call完之后进入子程序,子程序会做什么?显然,它会做和(一)一样的事情。详解:.

2021-10-21 01:15:04 3053 1

原创 从零开始的简易语法制导器:词法分析(一)

从零开始C语言实现的语法制导器(一)编译原理恰好学到第二章,作业要求是参照龙书自己写一个语法制导器。目前项目已经完成了第一版,不过有些地方仍然有待改进,自己也不是特别满意,预计近期内会重构。所以将自己写的过程记录下来,在复习与查漏的同时也以供大家参考。项目源码https://github.com/LabinNovenki/MySTD.git什么是语法制导我们要解决的第一个问题:理解什么是语法制导?以下定义摘自维基语法制导翻译是指一种源语言代码的翻译完全由语法分析器驱动的编译器的实现方法。一个

2021-04-13 21:14:29 472

原创 Xshell连阿里云服务器无法连接问题

Xshell连阿里云服务器无法连接今天用Xshell连接的时候不知道为啥就一直连接失败了,明明之前一直可以连得上的。因为一开始挂着VPN连的,以为是IP地址的问题,后来关了VPN还是连不上。于是尝试把本机IP加入白名单。右上角头像->安全管控->添加白名单:源IP填本机IP地址,目标IP填服务器公网IP尝试了一下,还是没办法连上然后开始检查问题所在…打开cmd窗口,ping一下自己的服务器ip地址,能ping通应该不是ip的问题接着检查一下22端口(阿里云服务器默认远程连接端口)

2021-04-06 18:11:13 683

原创 分治:平面中的最近点对问题的python实现

77

2020-11-26 13:25:02 4966 1

空空如也

空空如也

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

TA关注的人

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