个人小结
文章平均质量分 95
LaugustusJ
一只小菜鸟
展开
-
ubuntu apt常用命令
apt update / apt-get update,更新库中对源的索引apt upgrade / apt-get upgrade,更新软件apt search keyname / apt-get search keyname,根据关键字搜素 pkg 名字apt download pkgname / apt-get download pkgname,下载pkgname离线包到当前目录下apt -d install pkgnam...原创 2020-05-18 17:58:46 · 446 阅读 · 0 评论 -
GIT命令行操作
图形的可以使用tortoiseGIT,笔者认为用命令行比较好理解,推荐用命令行,其中基本的介绍可以直接看菜鸟https://www.runoob.com/git/git-create-repository.html1、创建仓库(1)在本地创建仓库git init [directory]是用在在本地创建新的仓库,以后再把此新的仓库推到server时的情况(也就是说server上原来没有此仓库的那种)(2)在remote创建仓库在本地创建完仓库后,需要推送到remote,方法如下:gi原创 2020-05-09 16:37:56 · 222 阅读 · 0 评论 -
vscode 扩展、json配置
{"files.autoSave": "off","window.zoomLevel": 0,"workbench.statusBar.visible": false,"files.hotExit": "off","editor.fontFamily": "Consolas, 'Courier New', monospace","workbench.colorCustomi...原创 2020-03-20 09:12:55 · 1166 阅读 · 0 评论 -
磁盘结构以及其中扇区、柱面、簇概念
1、磁盘结构磁盘主要由主轴马达、盘片、机械手臂、磁头组成(参考鸟哥私房菜),结构图如下:其中盘片上又可以分成磁道、扇区2、磁道图中track就是磁道,也就是绿色的圆环,参考文章:https://blog.csdn.net/badbad_boy/article/details/4313645说明:相邻磁道之间并不是紧挨着的,这是因为磁化单元相隔太近时磁性会相互产...原创 2020-02-02 16:49:12 · 2708 阅读 · 0 评论 -
MFC中创建非模态的另一种方法
MFC中创建非模态对话框一般是用create方法,还有另外一种新奇的方法可以实现相同的效果在构造对话框对象时指定父窗口为CWnd::GetDesktopWindow()主线程没有被阻塞,是你在线程中构造对话框对象时将父窗口参数给了NULL(缺省值),这样会把主窗口作为其父窗口,模态对话框会禁用其父窗口,所以主窗口不能用了。可以在构造对话框对象时指定父窗口为CWnd::GetDesktopW...原创 2018-10-24 10:29:56 · 225 阅读 · 0 评论 -
C++中实现防止一个类被其他类继承
如何在防止一个类被其他的类继承呢?如果是仅仅为了达到这个目的可以直接把这个类的构造函数设置成私有的,这样就杜绝了其他类的继承。也相当于毁掉了这个类(无法再创造出自己的对象)。那么怎么样既要保证这个类的完整性,又防止其他类的继承呢?这就要借助友元来实现,因为友元是不可以被继承的。如果一个类的构造函数要借助它的友元类,那么继承了这个类的类就无法构造自己的对象。从而杜绝了被继承。#in...转载 2018-10-05 10:27:55 · 604 阅读 · 0 评论 -
MFC对话框中绘制各种图形-ChartCtrol控件
ChartCtrol是别人放在CodeProject的一份源代码,包括了在对话框中绘制各种图形的方法,下面是本人搜集到的一些博客资源。ChartCtrol的下载地址以及英文介绍:https://www.codeproject.com/Articles/14075/High-speed-Charting-ControlChartCtrol的中中文翻译过来的介绍:https://blo...原创 2018-10-05 21:19:29 · 1094 阅读 · 0 评论 -
Windows绘图中的映射模式
转载地址:http://www.cnblogs.com/xi52qian/archive/2011/08/29/2158341.html Windows应用程序绘制图形时使用的是一种逻辑单位,每个逻辑单位的大小由映射模式决定, 这个逻辑单位既可以与设备单位(屏幕或打印机上的一个像素点)相同,也可以是一种物理单 位(如毫米),还可以是用户自定义的一种单位。在Windows应用程序中,只要与输...转载 2018-10-06 16:32:51 · 419 阅读 · 0 评论 -
Windows中的绘图与SetViewportOrgEx、SetWindowOrgEx函数
想要了解此处需要先清楚windows的绘图模式:https://blog.csdn.net/qq_16334327/article/details/82952003其次在了解SetViewportOrgEx、SetWindowOrgEx函数的差别:https://blog.csdn.net/u014034497/article/details/47059011...原创 2018-10-06 16:50:55 · 259 阅读 · 0 评论 -
MFC中改变CButton按钮颜色、位置、大小
一般都需要创建一个新的类CMyButton继承自CButton,然后用CMyButton创建按钮,其中最为关键的是要重写DrawItem函数博客:http://blog.sina.com.cn/s/blog_65cab32d01013uad.html另一个封装好的类:http://blog.csdn.net/luo_sen/archive/2008/08/01/2751752.aspx...原创 2018-10-07 16:02:38 · 6918 阅读 · 1 评论 -
MFC中各种对话框创建汇总
1、读、写对话框读取 CFileDialog dl(TRUE); dl.m_ofn.lpstrTitle = _T("选择录井Excel数据"); //dl.m_ofn.lpstrFilter = _T("xls文件\0*.xls\0csv文件\0*.csv\0xlsx文件\0*.xlsx\0\0"); dl.m_ofn.lpstrFilter = _T("Excel文件(*.xl...原创 2018-10-07 21:09:22 · 237 阅读 · 0 评论 -
C++中虚继承的作用及底层实现原理
转自:https://blog.csdn.net/bxw1992/article/details/77726390虚继承和虚函数是完全无相关的两个概念。虚继承是解决C++多重继承问题的一种手段,从不同途径继承来的同一基类,会在子类中存在多份拷贝。这将存在两个问题:其一,浪费存储空间;第二,存在二义性问题,通常可以将派生类对象的地址赋值给基类对象,实现的具体方式是,将基类指针指向继承类(继承...转载 2018-10-05 10:14:27 · 613 阅读 · 0 评论 -
笔记本下,开双显示屏,字体模糊解决方案
可以参看CSDN一篇文章:https://blog.csdn.net/lc315yuhuofei/article/details/78466212或者参考知乎一个网友的回答:https://www.zhihu.com/question/46167679笔者的问题是用知乎网友的方法解决的,感谢。主屏设为125%的时候,选中扩展屏,也调成125%会清晰很多,比主屏125%,扩展屏默认100...原创 2018-09-21 14:32:21 · 13948 阅读 · 1 评论 -
Windows+VS2013的Boost库编译
由于需要编译kriging插值库,而kriging库的编译需要用到boost库,所以需要先将boost库配置好以下文章转自:https://blog.csdn.net/yeahxiyi/article/details/53096053Boost是一个非标准库,包含着丰富的小工具,可参考《Boost程序库完全开发指南:深入C++"准"标准库(第3版)》一书(该书使用Boost1.57版本)进...转载 2018-09-26 21:00:17 · 399 阅读 · 0 评论 -
MFC对word操作-封装好的类
该类主要是copy的其他人的成果,页码部分由笔者自己查找资料添加。class _wordClass{public: _wordClass(); ~_wordClass();public: void ShowApp(BOOL flag); BOOL InitCOM(); ///< 对COM进行初始化 BOOL CreateAPP(); ...原创 2018-09-25 15:50:32 · 1505 阅读 · 0 评论 -
C++中迭代器的分类
转自:https://blog.csdn.net/sim_szm/article/details/8980879 迭代器定义了常用的操作集,但有些迭代器具有比其他迭代器更强大的功能。例如ostream_iterator只支持自曾、解引用和复制运算,而vector容器提供的迭代器除了这些运算,还支持自减、关系和算数运算。因此,迭代器可根据所提供的操作集进行分类。类似地,还可根据算法要求它的迭代器...转载 2018-09-11 15:53:04 · 2010 阅读 · 0 评论 -
C++中的适配器概念
转自:https://blog.csdn.net/LCL_data/article/details/8780140解决的问题:适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。比如说我的hp笔记本,美国产品,人家美国的电压是110V的,而我们中国的电压是220V,要在中国能使用,必须找个变压器转一下电压才可以。这个变压器就是...转载 2018-09-11 15:27:15 · 3261 阅读 · 1 评论 -
MFC中RadioButton、CheckBox设置,以及设置获取选中状态方法
转自:https://blog.csdn.net/jiangqin115/article/details/45176961?locationNum=6&fps=1版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangqin115/article/details/45176961基础介绍:radio button通常都是成组使...转载 2018-09-05 10:00:09 · 21078 阅读 · 1 评论 -
C、C++文件的读写与格式控制
文件读写文件操作可分为文本文件、二进制文件读写1.C语言读写1.1读文本文件int a; cha b[]=......fopen("fileName, "r");fscanf(filePtr, "%s,%d\n", a,b); or fgets(...)写文本文件float c = ....fopen(..........)fprintf(filePtr...原创 2018-02-04 16:49:13 · 3074 阅读 · 0 评论 -
回车与换行,CR/LF,\r/\n
转自:https://blog.csdn.net/u010320108/article/details/45224409CR意思是carriage return,回车,\r,ASCII码为13LF意思是linefeed,换行,\n,ASCII码为10 当你用一个打字机的时候,asdfghjkl;'右边的那个按钮(在计算机键盘上,就对应着那个Enter键)被按下的时候,打字机的纸张卷...原创 2018-09-01 16:10:46 · 485 阅读 · 0 评论 -
MFC下遍历所有文件-CFileFind
此处贴一个自己写的代码作为示例BOOL CFileCountDlg::ReadAllFilesToWord(CString path, CProgressDlg *progressDlg, int &currentFileNum, int &fileNum){ CString str; CFileFind _finder; bool _find = false; _...原创 2018-09-29 09:10:10 · 1066 阅读 · 0 评论 -
C++中的dynamic_cast、static_cast转换区别
转自:https://blog.csdn.net/qq_26849233/article/details/62218385一、static_cast关键字(编译时类型检查),简而言之主要用于除基本转换外的转换用法:static_cast < type-id > ( expression ),该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的...转载 2018-10-29 17:06:56 · 258 阅读 · 0 评论 -
cmake
1、介绍cmake是一个跨平台的安装、编译工具,可以用简单的语句来描述所有平台的安装、编译过程,他能够输出各种各样的makefile或者project文件。与 CMake 所对应的文件名为 CMakeLists.txt,使用cmake命令可以根据CMakeLists.txt文件生成当前环境下的Makefile文件。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(例如在 Unix...原创 2019-09-24 09:28:27 · 482 阅读 · 0 评论 -
条件编译用法汇总
#define 定义一个预处理宏#undef 取消宏的定义#if 预编译处理的条件判断,相当于C语言中if语句#ifdef 判断某个宏是否被定义,若宏已经被定义,则执行后边的语句#ifndef 与#ifdef相反,判断某个宏是否没有被定义#elif 与#if、#ifdef、#if...原创 2019-03-06 10:37:49 · 281 阅读 · 0 评论 -
C++程序中的三种编码
参考文章:https://www.cnblogs.com/gtarcoder/p/4979017.html程序中的编码分类:1.程序源文件编码 程序源文件编码是指保存程序源文件内容所使用的编码方案,该编码方案可在保存文件的时候自定义。 通常在简体中文windows环境下,各种编辑器(包括visual studio)新建文件缺省编码都是GB18030,所以不特别指定的话,...原创 2019-02-21 09:07:14 · 1733 阅读 · 0 评论 -
C++中override关键字
本文转自:https://blog.csdn.net/xiaoheibaqi/article/details/51272009override关键字作用: 如果派生类在虚函数声明时使用了override描述符,那么该函数必须重载其基类中的同名函数,否则代码将无法通过编译。 举例子说明 struct Base { virtual void Turing() = 0; ...转载 2019-03-05 15:36:10 · 647 阅读 · 0 评论 -
linux下svn常用命令
转自:https://blog.csdn.net/liuchong_lch/article/details/781927551、将文件checkout到本地svn checkout path(path是服务器的目录)例如 :svn checkout svn://192.168.1.1/pro/domain2、往版本库中添加新的文件svn add filename例如:svn...转载 2019-02-24 20:00:31 · 118 阅读 · 0 评论 -
C++中seekg、seekp失效问题
对于seekg、seekp两个函数当file.eof()=1的时候seekg就不好用了,当file.eof()=0的时候seekg是好用的。这个时候必须调用clear函数才可以详细分析:https://blog.csdn.net/stpeace/article/details/40693951...原创 2019-01-16 16:29:22 · 1578 阅读 · 0 评论 -
程序中动态、静态两种方式加载DLL
在程序使用Dll有两个加载方式:一种是动态方式,就是LoadLibrary载入Dll,然后用GetProcAddress来加载需要使用的Dll函数。另一种就是静态连接方式,将dll生成的lib,加入到工程中,然后就可以很方便的调用。但是很多dll在发布时不提供lib,没有lib我们就不能静态的加载,所以得想办法来生成一个lib,在vs2005中有这样的一个命令,不过我们还需要一个def文件...原创 2019-01-16 14:42:25 · 686 阅读 · 0 评论 -
内存DC使用
内存DC可以加快绘制速度,避免在刷新频率比较高的时候,出现空白闪烁的情况 CDC dcMem; dcMem.CreateCompatibleDC(pDC); CBitmap bitmap; bitmap.CreateCompatibleBitmap(pDC, _windowWidth, _windowHeight); CBitmap *oldBitma...原创 2018-12-08 10:38:59 · 439 阅读 · 0 评论 -
C++中reinterpret_cast、static_cast、dynamic_cast、const_cast四种转换区别
四种介绍以下的文章摘自:https://www.cnblogs.com/welfare/articles/336091.htmlQ:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使...原创 2018-11-23 15:19:31 · 324 阅读 · 0 评论 -
Windows中窗口与视口概念,SetViewportOrg与SetWindowOrg函数
窗口与视口的概念:窗口和视口其实是同一块矩形区域,两者坐标系的原点是同一个点。窗口和视口的区别仅仅是单位不同,窗口坐标为逻辑坐标,视口的坐标为像素坐标。窗口的变换和视口的变换的目的是一样的,都是为了将物体显示在设备环境中,只不过由于视口中使用像素作为单位也就是显示屏的设备坐标,所以往往在视口中进行调整dc比较直观一些。具体两者的概念上的区别参考:https://blog.csdn.ne...原创 2018-11-22 16:32:32 · 761 阅读 · 0 评论 -
C++中内存的分配,new(delete)与malloc(free)区别
C++的内存分配https://www.cnblogs.com/lyl-312/p/5528892.html内存管理是我们在编程时经常遇到的问题,而关于内存管理的问题往往会导致我们无从下手,这篇随笔是我阅读《高质量C++》第7章“内存管理”时一些总结。1.内存分配方式在C++中内存分为5个区,分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。堆:堆是操作系统中的术语,是操...转载 2018-11-12 15:30:31 · 507 阅读 · 0 评论 -
C++define宏的边际效应
const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应)举例说明#define MIN(a, b) a > b ? b : a这句宏定义就会带来意想不到的问题,比如我在这样使用时:num = b + MIN(num1, num2);num的值一直是num1...原创 2018-11-08 14:55:29 · 2092 阅读 · 0 评论 -
Windows下的多线程
进程(process)、线程(thread)多线程是为了同步完成多项任务,提高并发性,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的。在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。有关此方面的概念参考:https://www.cnblogs.com/f...原创 2018-10-24 11:24:12 · 140 阅读 · 0 评论 -
HBRUSH、MFC中创建CBrush时遇到的问题
HBRUSH与CBrush的关系HBRUSH、HPEN是所有Windows编程的基础API,MFC的所有类(包括CBrush CPen)只是把这些API封装成C++的对象,把一些SDK中的一些必要和重复的操作封装到类的构造函数和析构函数中。创建CBrush遇到的问题创建CBrush有多种方法,例如有hBrush = CreateSolidBrush (crColor) ;但是注...原创 2018-10-24 10:38:35 · 1141 阅读 · 0 评论 -
Windows的进队消息、不进队消息,MFC中Invalidate()和UpdateWindow()
首先清楚Windows中的消息分为进队消息与不进队消息,例如SendMessage为不进队消息,而是直接将消息发送给窗口,执行完SendMessage之后,立即执行消息响应函数,PostMessage为进队消息,将消息发送到队列,等待系统将消息挨次取出,执行,PostThreadMessage为向线程发消息具体关于进队消息、不进队消息的介绍参考:https://blog.csdn.net/bo...原创 2018-10-24 10:24:40 · 284 阅读 · 0 评论 -
CFileDialog用法总结
转自:https://www.cnblogs.com/kex1n/p/3595800.htmlCFileDialog经常用,但经常忘,现归纳整理下,方便今后查询。例子:CFileDialog openDlg( TRUE, "Material File(*.material)|*.material", NULL, OFN_HIDEREADONLY | OFN_OVERWR...转载 2018-09-01 11:13:44 · 26480 阅读 · 4 评论 -
脚本语言概念
脚本,英文名为Script,简单地说,脚本就是指通过记事本程序或其它文本编辑器(如Windows Script Editor,EditPlus等)创建,并保存为特定扩展名(如.reg , .vbs, .js, .inf等)的文件,对于注册表脚本文件就是利用特定的格式编辑的.reg文件;对于VBScript脚本编程语言来说,脚本文件扩展名就是.vbs;对于JScript脚本编程语言来说,脚本文件扩展...原创 2018-08-24 14:21:19 · 825 阅读 · 0 评论 -
模态对话框、非模态对话框的创建、销毁、函数执行顺序机制
转自:https://blog.csdn.net/langb2014/article/details/50099963下面是一个我的手写的模态对话框和非模态对话框图:模态对话框是指当其显示时,程序会暂停执行,直到关闭这个模态对话框后,才能继续执行程序中其他任务。非模态对话框是指当其显示时,允许转而执行程序中其他任务,而不用关闭这个对话框。 模态对话框的创建:创建模态对话框需要调用CDial...转载 2018-06-15 17:41:17 · 1568 阅读 · 0 评论