- 博客(64)
- 资源 (3)
- 收藏
- 关注
原创 何以解忧,唯有程序员硬核段子
程序员应该是最喜欢自黑的职业了,因为黑程序员这个门槛有点高,外行人根本黑不到点子上,程序员们看不下去了,只好提起裤子自己上了。
2023-08-16 14:27:40 203
原创 学数据结构第一个是学链表?不,是它
线性表是一种最简单,最常用的数据结构,以至于最常听见的链表、循环链表,静态链表这些,也都是线性表衍生而来的。这次简单说了线性表是所有结构的起始点,以及它的一些特性,后面着重阐述顺序表和链表,还有九大操作的代码实现。以上九大操作,具体怎么样去实现,跟线性表采用哪种存储结构有关。没错,不同的存储结构,对应不同的实现方式。
2023-02-22 21:33:12 298
原创 学习C++这一篇就够了(基础篇)
最简单的C++程序#include <iostream>using namespace std;int main(){ cout << "hello C++" << endl; system("pause"); return 0;}使用C语言第三方库在C++中如何使用C语言打包好的库函数extern "C"{ #include <libjpeg.h>}内存分配空间分配原则是以“连续空闲”
2022-05-04 00:23:05 758
原创 Keil编译后——代码长度超过版本限制
记得在公司电脑第一次安装Keil后,编译出了出现了这样一条错误: 意思就是说你的代码长度超过了版本限制。 解决办法: 大概率是Keil还没破解,要么先破解,要么买正版;破解的时候记得Keil和注册及都要用管理员身份打开。 如果没破解之前就打开了工程编译,.记得要先清理一遍工程再去破解; 因为你编译的时候,其中的.obj文件中已经记录下了你的代码长度,很明显这代码长度是错误...
2021-09-03 17:57:53 11589 7
原创 出现了一个意外,不能完成你在设置中所要求的更改
今天叫了师傅来装宽带,在配置IP地址的时候出现了这样的情况: 本来我里面是有以前设置的IP地址和DNS服务器地址,现在要更改成自动获取,结果总是弹出这样的错误信息来,有点烦。 师傅忙活了半天,也没能搞定,正巧到了饭点,他叫我先自己弄弄,他先回去吃个饭。 我:······ 解决办法: Window + R调出运行界面,输入cmd。 在出现的命令窗口中,输入下面两条指令:net...
2021-08-29 20:19:50 1260 3
原创 如何在只知道波特率的情况下确定分频参数
拿到一块新的主控,要测试下它的打印功能,但是我不清楚波特率是多少。 所以我在主函数中加了下面的程序: for(i=0;i<0xFF;i++) { TMR0_PR_P0 = i; UartPutc(0x55); UartPutc(0x55); UartPutc(0x55); UartP...
2021-08-17 19:41:12 383
原创 生成了文件却还是报错 Error:CreateProcess failed
想起来,以前用keil编译器的时候,也出现过这样的问题:第一眼都是看到了“1 Error(s)”,就下意识认为自己程序出错了,找了半天没找到。后来多看了一眼,发现完全这个错误其实可以完全不用理会,因为所需要的.bin和.hex文件已经生成了。而这个错误,仅仅只是COPY.BAT这个文件没有生成而已,这个文件我又不需要。但是强迫症的贱骨头在发痒,看着有个error挂着就是不舒服。我在Option里面,把“Run #2”前面勾选去掉了。将不需要的COPY.BAT文件让它不要参..
2021-08-16 19:38:55 2196
原创 不是创建此预编译头时使用的idb文件,请重新创建预编译头
我现在手上做的是MFC开发,VC编译的时候弹出:“不是创建此预编译头时使用的idb文件,请重新创建预编译头”原因:在链接器的链接过程中,有中间输出文件修改了程序名,导致生成的idb文件覆盖解决办法:将中间生成文件删掉,再重新编译即可,但是也不用全部删掉,找到出错的文件,将其删除掉再编译就行了。双击error错误行,就会直接定位到错误的地方。比如我双击定位到了#include“stdafx.h”这个地方,那么就将中间生成文件“stdafx.obj”文件删掉就行,再编译一次就行.
2021-08-13 19:42:07 941 1
原创 帮您解决开发SPI4W常见问题
用到的设备:嵌入SPI4W模块的主控、SPI Falsh、逻辑分析仪。啥?你问我SPI4W是啥?嗯·····SPI协议大伙儿都熟悉:serial peripheral interface、串行外围设备接口,采用四线制,接口有CLK、CS、MISO、MOSI,输入输出可同时存在,要讲起来可以一套一套的。先来击垮一个误区:SPI一定是四线制吗?SPI版本是比较混乱的,没有绝对标准的协议,虽然本质上没有差异,但是有多个版本,其中一个版本就是三线制,接口有CLK、CS、SDA,这条SDA线同一时刻只
2020-05-24 16:01:29 1452
原创 那些年,我们用过的存储器
什么是存储?存储是一个很广泛的词,我们只知道它是存储数据的介质,却很难用更好的话概括清楚,我也不行,只能尽量。这样,先来看几张图。图1是金士顿的64G内存卡,图2 是PC端的内存条,图3 是生活中常用到的U盘。这些就是存储技术呈现在日程生活中的应用,主要核心是存储芯片,然而这些严格来讲并不是具体的存储,而是存储芯片+外围设备组成的应用成品。在存储芯片内真正起到存储作用...
2020-05-05 19:20:26 321
原创 ”你谁啊?“ ”我CPU啊,你刚才还看我呢。“
“不好,居然睡过去了!”我一跃而起,猛然睁开了眼,打算抄起书本接着看CPU的内容。结果发现,我书没了,桌子也没了,卧槽,四周白茫茫的,这哪儿呢?面前还站着一个年轻人,挖着鼻孔盯着我,然后仰头就说:“小老弟,机械式看书有啥意思,问吧,什么问题我都能给你解答。”“你谁啊?”“我CPU啊,你刚才还看我呢。”我愣了,仔细打量,这人衣着宽松,一副慵懒得吊儿郎当的样子,搭上那嬉皮笑脸的...
2020-03-21 17:42:17 1012
原创 注册数据源时,ODBC数据源管理器中找不到Access驱动程序
我们知道在通过MFC的ODBC管理器来访问一个数据库的时候,必须要用ODBC管理器注册一个数据源。但是在实践中发现,ODBC管理器中只有SOL Server驱动程序,并没有我们想要的Access驱动程序。解决办法:在路径C:\Windows\SysWOW64下找到odbcad32.exe,双击运行。这是一个32位的ODBC数据源管理器,用此管理器,就能找到Access驱动程序。...
2019-11-03 16:38:48 4950
原创 安装Altera USB-Blaster驱动程序遇到的问题
USB-Blaster这是一条程序下载电缆,通过计算机的USB接口对FPGA以及配置芯片进行编程、调试等等。USB-Blaster使用的时候会自动安装驱动程序,但是有时候会出现这样一种情况:Altera USB-Blaster驱动程序那里总是显示有黄色感叹号。按照以往的经验,这种情况一般就是驱动程序有误,重新安装一遍即可,Quartus软件在安装的时候就自带了USB-Blaster驱动...
2019-10-31 19:40:08 4624 1
原创 NOR和NANDFlash的简单比较与基础概念
1、什么是Flash,有什么种类?Flash就是一种存储器芯片,就是一种用来存储程序和数据的部件。按照掉电还能否保持数据来分:易失性和非易失性。易失性:SRAM、DRAM(SDRAM、DDR-SDRAM),适合做主存储。非易失性:ROM(PROM、EPROM、EEPROM、Flash ROM)、Flash(NOR、NAND),适合做辅助存储。以下主要是比较NOR Flash和N...
2019-10-22 19:32:59 854
原创 字符串解析之CString转化为int型
_ttoi()函数的功能是将CString类型转化为int类型。这其实是个宏定义,在ANSI编码系统上被宏定义成_atoi()函数,而在Unicode编码系统上被宏定义为_wtoi()函数。啥?如何知道自己当前是哪种编码系统?VS2008上菜单“项目”——“属性页”——“配置属性”——“常规”——“字符集”对话框中选择:使用多字节字符集:ANSI使用 Unicod...
2019-10-15 19:37:12 2281
原创 字符串解析之strtok()
strtok()函数的功能是将一个字符串按照分隔符分割成一个个新的短字符串。原型:char *strtok(char str[], const char *delim)str是要用来分割的原字符串,delim是用来进行分割的分隔符号。该函数返回值是分割后的字符串的起始位置指针。在分割一个较长字符串的时候,第一次第一个参数str是要进行分割的原字符串,第二次再次调用该函数的时候,如果...
2019-10-14 19:50:07 622
原创 MFC ODBC创建数据库及添加数据库密码
工具:Access 20161、打开软件Access 2016,“新建"——“空白数据库”,配置好数据库名字,开始“创建”。点击“视图”,打开“设计视图”模式,开始在数据库中添加字段ID、neme、sex、home、age。同时,将ID字段设置为主键,只要鼠标在ID停那一行,右键选择“主键”即可,一旦成功,就会出现主键的标志。然后再次点击“视图”,回到“数据库视图”模式...
2019-10-07 20:15:17 692
原创 VS2010新建MFC工程
点击“文件”——“新建”——“新建项目”,或者直接快捷键CTRL+Shitf+N,在调出来的对话框中选择“MFC应用程序”,设置工程名和指定工程存放路径。点击“确定”,弹出“MFC应用程序向导”,其中说明了当前环境的一些参数,然后默认点击“下一步”。接下来的”应用程序类型“对话框中,三个地方需要注意:1、选择“基于对话框“2、资源语言首选”中文(简体,中国)“,或者英文...
2019-10-05 18:03:32 2952
原创 C++内存模型
需要先明确一点是,内存模型中涉及到的地址都是32位系统下的,其中涉及到的内存都是虚拟内存和虚拟地址,之所以会出现虚拟,是系统为了能更好、更高效管理使用内存,对实际物理内存进行了映射,使得应用程序的执行不用考虑物理内存的硬件细节。1、栈内存(1)因为是按照“先进后出”原则来操作的,此为栈。系统会自动申请栈内存并判断,空间不够的话会提示栈溢出。(2)栈的全称是“运行时栈”,在程序运...
2019-09-21 21:01:40 203
原创 源程序到可执行程序的编译过程
一份源代码,从开始产生到成为可执行程序的过程:预处理——编译——汇编——链接。1、预处理预处理又叫预编译,主要解释源文件中所有的预处理指令,包括头文件的展开和宏定义的替换,形成.i文件;具体细节就是处理以“#”开头的预编译指令:#include,#defind,ifdef/ifndef和删除所有注释等工作。预处理并不占用运行时间,同时预处理指令本身并不是C语言的组成部分,因此预处理...
2019-09-19 23:07:12 5556
原创 用UltraEdit实现不同类型文件的内容差异比较
在工作中,时常会需要需要比较两份文件的内容差异,要完成这样的工作哦,可以借助很多方便的工具,比如Beyond Compare,但是这些工具的使用前提是两份文件的类型必须是相同的,而且两份文件的内容排版格式也要相同才行。今天就遇到这样的情况,需要比较两份类型不同,内容排版也截然不同的文件,我用UltraEdit来解决了这个问题。解决的核心:将两份文件中的一份,变成与另一份类型相同,排版相同。...
2019-09-12 11:04:59 2342
原创 Keil C51中code、data、bdata、idata、xdata、pdata的解释
8051 结构提供给用户3 个不同的存储空间,程序存储器ROM,数据存储器RAM(内部RAM和外部RAM)。Keil C51通过以下的关键字定义了不同的存储类型,从而确保用户能够访问到51架构的全部存储空间。code:访问程序存储器ROM,即我们常说的代码段,用来存放可执行代码,空间可达64K(0x0000~0xffff),该存储空间的代码段是只读的。data:访问可直接寻址的片内...
2019-09-09 18:26:27 17297 1
原创 “Microsoft Incrementtal Linker已停止工作” 一劳永逸的解决方法
每次用VS2008编译工程的时候,总会调出一个提示框:原因:是由于在设置中开启了增量链接导致的,而且出现这种情况只有Debug版本才会有,因为Release版本默认是关闭增量链接的,而Debug版本是默认开启的。解决方法:将Debug版本下将增量链接关闭即可。“项目”——“属性”或者“Alt+F7”——“配置属性”——“连接器”——“常规”,在此对话框中将“启动增量接连”选择为“否...
2019-09-05 16:53:48 840
原创 获取当前进程执行程序完整路径
GetModuleFileName( __in_opt HMODULE hModule, __out_ecount_part(nSize, return + 1) LPCH lpFilename, __in DWORD nSize );该函数用于获取当前进程运行的.exe或者.dll的完整路径。参数1:获取到的.exe或者DLL的句柄,一般为NUL...
2019-09-04 18:27:53 1318
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人