自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (2)
  • 收藏
  • 关注

原创 字符编码

一、编码介绍:ASCII 编码 【SBCS(单字节字符集)】:ASCII编码,就是英文显示文字所需要的256个字符(比如,英文字母、数字、标点符号等等)ANSI 编码 【MBCS(多字节字符集)】ANSI编码,像中文,肯定不能只用256个字符就代表所有汉字。因此对ASCII码表进行了扩展,使用两个(或多个)字节,代表一个汉字。类似的,不同的国家和地区制定了不同的标准,这些使用 2 个字节来代表一个字符的各种延伸编码方式,称为 ANSI 编码。也就是说,ANSI是一种对ASCII码表进行扩展的

2020-08-27 19:18:31 281

原创 C2338编译错误

今天将一个工程升级为 vs2019 64 位编译时出现如下错误:error C2338: Windows headers require the default packing option. Changing this can lead to memory corruption. This diagnostic can be disabled by building with WINDOWS_IGNORE_PACKING_MISMATCH defined.问题原因是工程配置中设置了 结构成员 1

2020-05-27 16:31:02 15490 4

原创 windows 下编译libxml2 libxslt

编译 iconv 库libiconv是将一种编码格式转换为另一种编码格式的跨平台开源库,http://www.gnu.org/software/libiconv/可以查看支持转换的编码类型。但是libiconv 的开发者并没有发布windows下的源码和库,要想在windows下使用libiconv 库,必须自己手动把libiconv 移植到windows平台,具体步骤如下:1、去http:/...

2020-05-14 17:24:17 1610

原创 VS2019 编译 Openssl 1.1.x 版本

最近因为需要用到 Openssl 中得静态库 libeasy32.lib;因此自己就需要在 windows 环境下编译 Openssl 得源码。看过网上大神的帖子之后,结合自己的编译过程,整理了一下编译过程,以作记录。OpenSSl 版本变化:1. 从openssl 1.1.0版本以后就不再有ms\do_*.bat这样的文件,而是直接使用nmake命令就行了2. 在 1.0.x 之前...

2020-02-28 16:46:01 1019 2

原创 关于 locksource 后修改返回值报错的问题

之前有段代码,vs2010 运行正常,vs2019 运行之后程序异常。异常代码如下: DLGTEMPLATEEX* pTemplate; HINSTANCE hInst = ::AfxFindResourceHandle(MAKEINTRESOURCE(m_nEntityResID), RT_DIALOG); if (hInst == NULL) { TRACE("Cou...

2020-01-14 16:39:26 199

原创 linux 中查看可使用资源的限制

查看系统允许打开文件的最大个数(和内存有关)cat /proc/sys/fs/file-max查看程序默认允许打开文件的最大个数ulimit -a修改程序允许打开文件的最大个数ulimit -n 4096...

2018-05-22 16:27:26 1549

原创 VIM 中常用快捷键

在命令模式下的快捷方式移动:    h:左移     j:下移    k:上移    l:右移    M:移动到中间行    L:移动到屏幕最后一行行首    H:移动到屏幕第一行的行首、    G:移动到指定行,行号 + G    w:先后一次移动一个字    b:向前一次移动一个字    {:按段移动上移    }:安段移动下移    Ctrl+d : 向下翻半屏    Ctrl+u : 向上...

2018-05-21 10:43:23 481

原创 C++ 获取字符串中的中文、英文、数字等

在 C++ 编程中经常处理 Unicode 编码的字符串,Unicode 通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为 0 就可以。每一个字符在 Unicode 编码表中对应为一个编号。例如:B 对应 0042在 Unicode 编码表中:      数字的编码范围为:0x0030 - 0x0039, 小写英文字母的范围:0x0061 - 0x007A   ...

2018-05-10 12:35:43 10673 1

原创 使用 vs 查看dll 方法

某些时候我们拿到第三方提供的 dll,需要验证里面提供的接口和文档中描述的是否一样,此时就需要查看 dll 中导出的接口有哪些,在 VC6.0 时我们可以使用 VC 自带的 depends 的软件查看,但是 VS 开始没有此工具,因此很多时候查看dll 就需要找第三方工具,近期发现 vs2010 中也存在查看 dll 接口的工具。在 vs 中 选择   tools — Visual Studio ...

2018-04-27 16:50:02 19235 1

转载 C++11常用特性的使用经验总结

转载自:http://www.cnblogs.com/feng-sc C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++11方面的知识,也得益于很多其他网友的总结。本博客文章是在学习的基础上,加上博主在日常工作中的使用C++11的一些总结、经验和感悟,整理出来,分享给大家,希望对各位读者有帮助,文章中的总结可能存在很多不完...

2018-04-19 20:16:20 178

原创 引用 DuiLib 时报错

最近个人在研究使用 DuiLib 库。然后自己尝试编写一些小示例,但是在引用 DuiLib 库时出现了问题。研究了半天才找到解决方法。先说一下个人的环境:我使用的是 vs2017 社区版,创建了了一个 windows桌面应用程序,然后引入 DuiLib 的头文件,此时编译就出现如下错误:解决方案:选择 “工程属性” — “C/C++” —  “语言” ,将右侧中的 “符合模式”修改为 “否”,编译...

2018-04-02 14:59:17 524

原创 linux grep 命令及正则表达式使用

grep 是 General Regular Expression Parser(通用正则表达式解析器)的缩写。grep 命令可以在文件中搜索字符串。语法如下所示: grep [options] PATTERN [FILES] 如果没有文件名,grep 则搜索标准输入。grep 中一些主要 选项选项含义-c输出匹配行的数目,而不输出匹配的行-E启用扩展表达式-h 取消每个输出行的普通前缀,即匹配查...

2018-03-29 16:27:15 709

原创 Linux 中 find 命令

find 命令用于文件搜索,在linux 系统中是非常常用的一个命令。find 的命令中不仅仅有选项,还有测试、动作类型的参数,其中一个参数的运行结果可能会影响到后续参数的处理。命令格式:    find [path] [options] [test] [action]    path:          路径,可以是绝对路径(/bin),也可以是相对路径( ./ ),也可以指定多个路径。    ...

2018-03-29 11:24:19 215

原创 Shell 编程内置命令 trap 命令

trap 命令用于指定在接收到信号后将要才去的行动。trap command signalcommand:执行的命令signal:接收的信号如果要重置某个信号的处理为默认值,只需要将 command 设置为 -如果要忽略掉某个信号,只需要将 command 设置为空字符串 ""下表列出了 X/Open 规范里面规定的一些比较重要的信号信号说明HUP(1)挂起,引用终端掉线或用户退出而引发INT(2...

2018-03-29 08:15:47 1197

原创 Shell 编程内置命令:export

export 命令可以将 Shell 脚本中的变量导出到子 Shell 脚本中,并使变量在子 Shell 中也可以访问。默认情况下 Shell 脚本中的变量在子 Shell 脚本中是不可用。export 命令把自己的参数创建为一个环境变量,而这个环境变量可以被当前脚本调用的其他的脚本看见和使用。我们使用两个脚本示例说明。exportTest1:#!/bin/shecho "this is exp...

2018-03-28 09:51:29 1702

原创 Shell 编程内置命令:eval

eval 命令允许你对参数进行求值。他是Shell 内置命令,通常不会已单独命令的形式存在。示例:#!/bin/shfoo=10x=fooy='$'$xecho $y输出结果为 $foo#!/bin/shfoo=10x=fooeval y='$'$xecho $y输出结果为:10eval会对后面的命令进行两遍扫描,如果第一遍扫描后,命令是个普通命令,则执行此命令;如果命令中含有变量...

2018-03-28 08:27:58 277

原创 Shell 脚本中特殊变量

环境变量在Shell 脚本中一些变量会根据环境设置中的值进行初始化,这些变量通常用大写字母命令环境变量说明$HOME当前用户的家目录$PATH环境变量 PATH$PS1命令提示符,通常是 $ 字符$PS2二级提示符,通常是 > 字符$IFS输入域分隔符,用来分割单词的一组字符串,他们通常是空格、制表符和换行符$0shell 脚本的名称$#传递个Shell 脚本的参数的个数$$Shell 脚本...

2018-03-26 17:13:00 161

原创 Shell 编程循环语句

for    我们可以用 for 结构的循环来处理一组值,这组值可以是任意字符串的集合。for variable in valuesdo statementdone示例for foo in aa bb cc do echo $foodoneexit 0    输出结果是:          aa          bb          ccwhile    for 循环特别适合对一...

2018-03-23 15:01:20 378

原创 Shell 编程 if 语句

shell 中条件判断         if “条件”; then       elif "条件"; then         else        fithen 如果和条件放在同一行,则条件和 then 之间需要用分号分割,如果不在一行,则不需要用分号分割#!/bin/shecho "Are you a teacher, please answer yes or no"read param...

2018-03-23 08:25:05 222

原创 Shell 编程中条件判断命令

shell 脚本编程中会广泛使用 [ 或 test 命令判断真假。在一些系统上这两个命令的作用是相同的。为了增强可读性,当使用 [ 命令时,我们还会使用符号 ] 来结尾。在使用 [ 命令时,  [ 命令和检查条件之间必须留出空格。test 命令可以使用的条件类型:    可以使用的条件类型归为 3 类:字符串比较、算术和 文件测试字符串比较 结果string1 = string2如果两个字符串相同...

2018-03-21 17:46:28 890

原创 linux 查看是否存在某个命令

在linux 系统中查看是否存在某个命令,或者查看起作用的命令的路径可以使用 which 查看。which ls;

2018-03-21 17:15:34 9549 1

原创 linux 下编译生成静态库和动态库

我们此处为了说明静态库和动态库的编译,会使用示例代码。创建  test.h, hello.cpp 和 world.cpp, 在两个源文件中分别实现两个函数( 此处都是示例代码,文件命名不规范,理解意思即可 )。test.h (静态库头文件)#ifndef _TEST_#define _TEST_void hello();void world();#endifhello.cpp:#inclu...

2018-03-20 15:46:54 4026

原创 静态库与动态库区别

所谓的动态与静态都是指链接。程序的编译过程分为四步:预编译 —— 编译 —— 汇编 —— 链接    预编译:在过程中执行宏的替换、注释消除,找到相关库文件,将include 文件全部内容插入;    编译:生成汇编语言;    汇编:汇编语言变为机器代码;    链接:链接一个一个目标文件,生成一个可执行文件;静态库:是在程序链接阶段会见静态库一起链接打包到可执行文件中;动态库:在程序编译链接阶...

2018-03-20 08:49:33 736

转载 VIM 插件集合

前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程。虽然准备有限,但分享过程中大家大多带着一种惊叹的表情,原来编辑器可以这样强大,这算是对我多年来使用VIM的最大鼓舞吧。所以分享结束之后,将这篇简短教程整理一下作为我2014年的第一篇Blog。目录写在前面:Life Changing Editor什么是VIM为什么选VIM为什么选其它为什么犹豫选择它们VIM >= S...

2018-03-19 10:35:26 294

转载 Vim的强大配置文件

花了很长时间整理的,感觉用起来很方便,共享一下。我的vim配置主要有以下优点:1.按F5可以直接编译并执行C、C++、java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试2.自动插入文件头 ,新建C、C++源文件时自动插入表头:包括文件名、作者、联系方式、建立时间等,读者可根据需求自行更改3.映射“Ctrl + A”为全选并复制快捷键,方便复制代码4.按“F2”可以直接消除代码...

2018-03-19 10:13:09 134

转载 Vim 操作命令

曾经使用了两年多的Vim,手册也翻过一遍。虽然现在不怎么用vim了,曾经的笔记还是贴出来,与喜欢vim的朋友分享。1. 关于Vimvim是我最喜欢的编辑器,也是Linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。 (如果你的系统环境不是中文,而你想使用中文的vimtutor,就...

2018-03-14 14:05:04 939

原创 C++指针和引用的使用

指针和引用看上去完全不同(指针用操作符 * 和 ->, 而指针用操作符 &),但是他们似乎都有相同的功能,都能让你间接引用其他对象。使用指针的和引用的时机是什么时候呢?    首先,要认识到任何时候下引用都不能指向空值的引用,一个引用必须指向某个对象。    指针可以指向任何对象,也可以指向空值。     char* pc = 0; // 设置指针为空值    char&amp...

2018-03-12 15:02:31 178

原创 linux 下创建目录

linux 下创建目录使用 mkdir 命令:mkdir 命令语法如下:mkdir [选项] [参数]常用选项有以下两种:    -m:创建目录时为目录设置属性    -p:当父目录不存在时,创建父目录示例:    创建 test 目录:        mkdir test    创建 test 目录时指定目录属性        mkdir -m 777 test    创建多级目录       ...

2018-02-28 08:40:15 1121

原创 linux 文件详细信息

使用 ls -l 命令后会列出如下图所示的文件详细信息:图中每一列的具体含义如下:权限列: 权限列中一共 10 个字符,第一个字符代表文件类型,后边9 个字符 3 个为一组表示不同用户的权限;   第一字符表示文件类型:       [d]:目录      [-]:普通文件 [l]:连接档 [b]:设备文件中可供存储的接口设备 ...

2018-02-09 16:20:44 7023

原创 linux 下 ls 命令

linux 登陆后,命令行显示为 [登陆用户名 @ 机器名  当前目录]ls 命令(列出文件内容): -a 全部的文档,连同隐藏文档(开头为 . 的文档)一起列出来;-A 全部的文档,连同隐藏文档,但不包括 . 与 .. 两个目录;-d 仅列出目录本身,而不列出目录中其他文档;-R 列出子目录下的文件,-l 列出文件的详细信息 -S 按照文件大小进行排序 -X 根据扩展名进行排序 -t 最后访问时...

2018-02-06 11:24:20 151

转载 Java 中实现单例模式

Java 中实现单例模式

2017-12-19 14:09:08 246

转载 LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

以前经常遇到这个警告信息,因为运行并没有什么问题,所以也没深究。但是耿耿于怀那个“ 0 个错误,0 个警告”的成功提示,在网上搜了一下。原来问题出在默认库的引用选择上。 VS2008,项目——属性——配置属性——C/C++——代码生成:他有/MT,/MTd,/Md,/MDd四个选项,你必须让所有使用的库都使用相同的配置,否则就会有相应的提示,甚至可能会出现无法解析的函数。有时我们使

2015-08-19 15:35:26 419

转载 windows下文件的监控--ReadDirectoryChangesW函数的使用

最近在做一个项目,其中涉及到监控指定目录下所有文件和子目录内的修改信息。经过一番努力,总算实现这一功能,在此特别感谢那些帮助过我的朋友和同事们。今天整理一下这几天的收获,列出相关的知识点,供后来者参考。1.FindFirstChangeNotification()函数:功能:创建一个改变通知句柄,并设置通知条件,即发生某种修改时,该通知句柄将被促发生效。该函数仅仅负责对文件修改作出

2015-06-24 09:19:36 1335

转载 使用VS2010时遇到的一些小问题的解决方案(从各处搜罗总结的,不定期更新,向原作者致敬)

1. 报错 "visual studio 2010 遇到了异常,可能是由某个扩展导致的......"     原因貌似是安装某些软件之后,VS2010的注册表被改动了,所以需要更改注册表。(对注册表修改之前建议给备份先)     (1) 如果是32位系统,就找[plain] view plaincopyprint?[HKEY_CLAS

2015-06-11 18:04:59 900

转载 使用_CrtSetDbgFlag检测内存泄露

一、介绍:动态分配、回收内存是C/C++编程语言一个最强的特点,但是中国哲学家孙(Sun Tzu,我不知道是谁?那位知道?)指出,最强的同时也是最弱的。这句话对C/C++应用来说非常正确,在内存处理出错的地方通常就是BUGS产生的地方。一个最敏感和难检测的BUG就是内存泄漏-没有把前边分配的内存成功释放,一个小的内存泄漏可能不需要太注意,但是程序泄漏大块内存,或者渐增式的泄漏内存可

2015-04-10 19:00:18 395

转载 bat之for循环

for对很多批处理新手来说可能是最不好理解的,而微软的帮助又极为苦涩难懂,所以我想把我所了解的for尽可能以最简单的方式写出来。当然,因为是自己的理解,难免会有错,还请各位指出。好了,开始。1.没有任何参数的for格式为:for %%i in (set) do command%%i 为变量set为一个文件或者一组文件,其实就是一个集合。可用通配符,比如*.txt。comm

2015-02-28 19:17:31 393

转载 批处理修改电源管理方案

批处理修改电源管理方案例:一直开着,关闭监视器 从不 关闭硬盘 从不。——————————————————————————for /f "tokens=2*" %%i in ('powercfg /q^|find "名称"') do set a=%%iPOWERCFG /CHANGE %a% /monitor-timeout-dc 0

2015-02-28 18:40:21 3159

原创 对话框中设置 静态文本 背景为透明

添加对 WM_CTLCOLOR 消息的相应 函数 OnCtlColor。代码如下:HBRUSH CTemplate::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何特性

2015-02-05 14:56:43 1555

原创 windows 异步 IO

同步 IO:线程存在 IO 操作的时候,他会等待IO 操作完成之后才会继续执行后续操作,此时线程会被挂起,知道 IO 完成,线程才可以重新调度。异步 IO:IO 的操作在后台进行,并不阻塞线程的继续运行,IO 的操作和线程运行同时进行。同步 IO 由于线程的挂起,运行 发生大量的上下文切换,导致程序的性能降低。如何选择同步还是异步呢? 主要有这么几个指标供参考 1. 并

2014-12-04 15:16:38 499

原创 设置系统的电源计划

win7 设置电源计划:1、首先通过 PowerGetActiveScheme

2014-11-14 15:30:06 6151

libiconv.zip

iconv.lib vs2010 工程, 下载之后直接编译即可使用。如果编译不过可以联系我。

2020-05-14

tcp_ip路由技术(第一卷)(第二版)

总共四部分十四章。 第一章 TCP/IP 回顾; 第二章 IPv6概述; 第三章 静态路由; 第四章 动态路由选择协议; 第五章 路由选择信息协议;

2015-08-26

空空如也

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

TA关注的人

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