自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (1)
  • 收藏
  • 关注

原创 创建虚拟python开发环境

python使用技巧

2022-08-24 09:11:47 293 1

原创 using namespace使用相关问题

对于C++开发的刚入门者,在写代码时,用到std::string、std::cout等标准系统函数时,为图方面,喜欢这样写:#include <iostream>…using namespace std;...这样写的一个好处是,在后面用到iostream里定义的函数和成员时,不用每个用到的地方加上std::开头,会给减少部分代码编写工作。但是,这种写法通常不被具有开发经验的人员所推荐...

2018-06-10 10:58:45 1734 1

原创 编译错误问题解决

在编译时遇到一个奇怪错误,缺少“;”(在“<class-head>”的前面)纠结了好半天没找到原因,把提示错误处的代码拿到新工程里测试也没发现问题。后来进一步发现,原因竟然是,在这一段代码的前面的代码部分,少写了一个分号。看来编译器给出的提示没错,是我给忽视了,谨此以记。...

2018-06-06 07:34:27 1191

原创 MacBook的一些常用快捷键总结

如果需要复制路径,在finder里,对选中的文件,cmd+opt+c,就复制到剪贴右键弹出菜单: control + 右键基本操作相关:重命名快捷键: 选中文件,直接回车删除文件: Command+Backspace输入法切换:option+空格键复制文件/文件夹绝对路径:option+command+C新建文件夹:Command+shift+N撤销:Command+Z恢复: Command+Sh...

2018-06-01 08:27:21 929

原创 跨平台编译时控制dll导出的方式的写法

#if defined(_MSC_VER)    //  Microsoft    #ifdef EXPORTING_DLL        #define EXPORT_DLL __declspec(dllexport)    #else        #define EXPORT_DLL __declspec(dllimport)    #endif#elif defined(__...

2018-06-01 08:24:51 680

原创 VS常用快捷键

代码编辑常用快捷键①文件切换Ctrl + Tab   工作区内的打开的各文件切换Alt+O    在源码和相应的头文件间切换② 文本选择Alt + 鼠标左键     选取块状内容,而不是以行为单位Shift + 上/下/左/右/Home/End   选中文字Ctrl + Shift + [ / ]   选中括号中的内容,对于{}、[]、()均有效③ 文本快速定位Ctrl + ]   光标跳到匹配的...

2018-05-06 11:29:23 299 1

原创 git在Commit时提示“Changes not staged”解决办法

之前使用SVN进行代码管理,突然切换到Git还不太习惯。今天领导说走之前把代码提交下,直接用git commit,结果总是提示“Changes not Staged”的错误。经谷歌,原因是得先使用git add命令,把变化的文件添加进来。之前虽然学过git相关的命令,但遇到问题还是没能立马解决,看来实践才是最好的老师。____________________________补充一点,提交git的代...

2018-04-25 20:53:09 68686 5

原创 dll 使用方法

extern "C"int add(int x,int y);extern "C"int _declspec(dllimport) add(int x,int y);使用DLL导出函数的声明有两种方式:(1)在函数声明中加上__declspec(dllexport),这里不再举例说明;(2)采用模块定义(.def) 文件声明,.def文件为链接器提供了有关被链接程序的导出、属性及其他方面的信息。....

2018-04-13 13:27:53 997 1

原创 文件检索工具Everything删除无效条目的方法

在使用Everything时,偶尔在电脑上插个U盘或者移动硬盘,Everything会自动扫描这些磁盘并把文件的条目给存到索引中。移掉磁盘后,这些记录依然存在。如果再使用它检索文件,会检索出许多无效的条目。可以按照下面的方法删掉这些无效记录:tools->option:弹出以下界面:然后在local NTFS volumes中移除无效卷即可...

2018-04-13 13:21:35 9927 1

原创 DDL和DML事务相关使用注意

在最近遇到一个需求,需要将对数据表结构的操作(增加字段、删除字段)等用事务做控制。在对这个需求做评估时,考虑到数据表结构操作和数据操作属于不同的级别操作(DML和DDL),就初步回绝了需求。然后又在sqlite中做了以下实验:begin transaction;create table test(a int);insert into test(a) values(1);alter table te...

2018-04-13 09:29:04 1638

原创 reinterpret_cast、dynamic_cast、static_cast的使用及注意事项

标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。在C++中,使用数据类型转换时,该怎样选用合适的数据类型转换方式呢?下面分别对这几种转换方法的使用场景做一个说明:1) static_cast使用方法:static_cast < type-id > ( expression )功能:把express...

2018-04-07 15:32:27 7044 1

原创 C++中float和double类型的精度问题说明

有效数字的定义:有效数字是指在分析工作中实际能够测量到的数字。能够测量到的是包括最后一位估计的,不确定的数字。 我们把通过直读获得的准确数字叫做可靠数字;把通过估读得到的那部分数字叫做存疑数字。把测量结果中能够反映被测量大小的带有一位存疑数字的全部数字叫有效数字。如图中测得物体的长度5.15cm。数据记录时,我们记录的数据和实验结果真值一致的数据位便是有效数字。在数学中,有效数字是指在一个数中,从...

2018-04-07 11:35:30 2611

转载 extern "C" 用法

C和C++对函数的处理方式是不同的.extern "C"是使C++能够调用C写的库文件的一个手段,如果要对编译器提示使用C的方式来处理函数的话,那么就要使用extern "C"来说明。1  在C++中引用C语言中的函数和变量,在包含C语言头文件(假设为cExample.h)时,需进行下列处理:extern "C"{#include "cExample.h"}2 在C中引用C++语言中的函数和变量时...

2018-04-07 10:09:54 161

转载 dllMain函数的作用

1 DLLMain()函数的功能Windows在加载DLL的时候,需要一个入口函数,就如同控制台或DOS程序需要main函数、Win32程序需要WinMain函数一样。根据编写规范,Windows必须查找并执行DLL里的DllMain函数作为加载DLL的依据,它使得DLL得以保留在内存里。这个函数并不属于导出函数,而是DLL的内部函数。这意味着不能直接在应用工程中引用DllMain函数,DllMa...

2018-04-07 10:07:55 17479

转载 RedHat异常关机导致启动报“UNEXPECTED INCONSISTENCY”错误解决方法

1.     首先在命令行输入(可选)mount | grep ''on /''得到root用户所在分区/dev/your_partition2.     然后在命令行输入fsck -y /dev/root#fsck -y /dev/your_partition#检测并修复磁盘/dev/root,-y 选项指定检测每个文件是自动输入yes3.     输入reboot进行重启,仍然报错 4.   ...

2018-04-07 09:59:00 564

原创 PostgreSQL与MySQL对比

PostgreSQL与MySQL对比都属于开放源码的一员,性能和功能都在高速地提高和增强。MySQL AB的人们和PostgreSQL的开发者们都在尽可能地把各自的数据库改得越来越好,所以对于任何商业数据库使用其中的任何一个都不能算是错误的选择。PostgreSQL : 免费原则: 对于一个数据库,稳定性和速度并不能代表一切。对于一个成熟的数据库,稳定性肯定会日益提供。而随着硬件性能的飞速提高,速...

2018-04-07 09:46:29 32592 3

原创 SQLServer中创建主键的方法

SQLServer创建主键的方法方法一:创建表之后,alter table table_name add primary key(字段1,字段2)    方法二:CREATE TABLE 表名 (字段名1 Int Not Null,                         字段名2 nvarchar(13) Not Null                         字段名3…………...

2018-04-07 09:44:48 31405

原创 删除数据表中重复行的方法

如果要重复的内容完全一致,可以使用distinct关键字删除:示例:select distinct t1.* into tmp from table1如果数据表中某几个字段出现重复,需要将这些字段中存在重复的行删除,则需要按照以下步骤操作:1) 备份数据;2)检查待删除的数据表中是否存在唯一标识行。如果存在,则跳到下一步;否则为数据表新增列,将该列类型设为自增(不同数据库中操作方法不太一样,但...

2018-04-07 09:40:09 1716

原创 模板类编写注意事项

模版类的定义和实现不能分开写在不同文件中,否则会导致编译错误原因:在C++中,在编译阶段才确定对象所占用的空间。模板类只有被真正使用的时候,编译器才知道,模板套用的是什么类型,应该分配多少空间。然后根据套用的类型进行编译。套用不同类型的模板类实际上就是两个不同的类型,因此这两个类型的共同成员函数实质上也不是同一个函数,仅仅是具有相似的功能。因此,模板类在套用不同类型以后,会被编译出不同的代码。结论...

2018-04-06 10:59:00 299

原创 SQLServer占用内存过大问题解决方案

 为了使运行在服务器上的应用程序都能达到比较满意的效果,同时也为了能给其他应用程序分配足够的内存,需要采取措施限制SQL Server 的内存使用量。我们可以通过设置SQL Server 数据库引擎使用的内存的上下限来达到此目的。其具体步骤是:  1.打开企业管理器,展开服务器组。  2.单击该服务器,点击鼠标右键,单击属性菜单。  3.在弹出的对话框中单击内存选项卡。  内存设置方法有两种:  ...

2018-04-06 10:51:11 19616

原创 postgresql密码重置方法

场景: 打算新建一个postgresql的数据库 FooDB 并把所有者权限赋给用户 foo 正常操作应该是:先创建用户foo,再用foo身份创建数据库 FooDB  操作 1、先创建用户 foo,在postgresql的bin目录下执行命令 createuser.exe -s -P foo -U postgres -s 表示新建 foo用户是 superuser -P 表示执行命令后,显示输入密...

2018-04-06 10:45:28 4955

原创 std::string实现说明

string的声明为:typedef basic_string<char, char_traits<char>, allocator<char>> string;从定义来看,string类型的本质是一个模板类,是basic_string<char, char_traits<char>,allocator<char>>的“简称”...

2018-04-06 10:31:35 1595

原创 DELETE 、Truncate、DROP的区别

DELETE是DML语言,执行操作会触发触发器和存储过程。TRUNCATE是DDL,事务是隐性提交的,操作后会立即生效。1 数据操作① 直接结果delete和truncate都会删除表中的数据,并保留数据表的字段结构和约束条件。② delete操作删除的数据,被存放到rollback segment中,提交事务后才会被真正删除; truncate操作的删除会直接生效,删除数据不可恢复。③ dele...

2018-04-06 10:25:01 204 1

原创 GDAL源码组织结构说明

1 基础数据集定义库代码位于gcore文件夹下,主要定义GDAL抽象类的数据集,比如图像、波段的读写接口、矢量数据组织模型等;2底层支持库代码位于port文件夹下,是一个GDAL的底层支持库,定义了一些字符串的操作、文件处理、网页请求、数据库连接、哈希表、字符加密文件压缩等基础的函数,导出函数符号定义(CPL_DLL)等基础定义,以及对打开文件、打开数据库、打开网络路径等的操作接口抽象。3底层实现...

2018-04-06 10:08:32 266

原创 关于std::sort() 排序的结果为升序还降序的问题

在使用sort函数对自定义对象排序时,需要做以下工作之一:1)在自定义对象类重载比较操作符>和<2) 将对象比较规则作为一个函数指针传入sort中,作为第三个参数;3) 在使用C++11及更高版本时,将比较规则作为lambda表达式传入,作为sort的第三个参数。但是在使用过程中,存在一个问题,对于一个比较函数 left < right,结果是降序还是升序呢。经过测试发现:① 如...

2018-04-04 08:55:55 3492

原创 数据库表分区相关问题

1 表分区的主要应用场景:  ① 存档    例如,将一些不常用的数据分到一个专门存档的服务器中  ② 便于管理    例如,把一个大表分成若干个小表,则备份和恢复时不再需要备份整个表,可单独备份分区  ③ 提高可用性    在一个分区挂了以后,只有一个分区不可用,其它分区不受影响  ④ 提高性能    这个往往是大多数分区的目的,把一个表分布到不同的硬盘或其它存储介质中,会大大提升查询的速度2 ...

2018-03-30 21:31:32 244

原创 SQLite中R树索引的存储结构

虚表是sqlite的一种高级特性,它的实现基于sqlite module。对于数据库引擎,它和普通表一样,允许进行大多数的sql操作。SQLite的R树索引是基于虚表实现的。在SQLite中,R树索引的内容实质上是保存在了三个数据表中,这三个表名是在创建虚表时自动生成的,名称分别_node,_rowid,_parent为后缀。表的定义如下:CREATE TABLE%_node(nodeno INT...

2018-03-30 20:48:01 918

原创 VS2013编译CloudCompare注意事项

VS2013对C++新特性的支持不够,在编译CloudCompare时会报各种错误。现将遇到的问题及解决方法跟大家分享下。① error C2440: “初始化”: 无法从“initializer-list”转换为“QList<QChar>”这个是VS2013对initializer-list还不支持。initializer-list指的是C++11中的一个新特性,允许构造自定义对象数...

2018-03-26 21:46:32 3094 4

原创 CentOS下安装gcc 4.9版本

gcc-c++不支持C++11及更高版本的新特性,比如std库中的正则表达式,线程等。为了使用这些功能,需要把便一起的版本升级到4.9.x上。按照以下方法,可以顺利升级:[root@VM_0_15_centos ~]# yum install centos-release-scl -y[root@VM_0_15_centos ~]# yum install devtoolset-3-toolcha...

2018-03-26 08:41:58 7204

原创 函数重载、重写和覆盖说明

C++中,经常会提起重载、重写,除此还有覆盖。对于这些概念,好多人不是很清楚,使用时却也能分的清楚。然而当别人问起来时,总是说的不明就里,张冠李戴。为此在这里说明以下。1)函数的重载(Overload)在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数不同(包括类型、顺序不同),即函数重载。有以下关键点:① 在同一个类内部 ② 函数名字相同;③ 参数不同;请注意,重载解析中不考...

2018-03-25 11:23:47 569

原创 g++编译工具使用

1 代码预处理(展开宏,去掉注释信息等)gcc -E ./codeTest.c -o ./codeTest.i  2  生成对象文件gcc -c ./codeTest.i -o ./codeTest.o    3 生成可执行文件gcc ./codeTest.o -o ./codeTest        至此,生成了可执行文件codeTest,在命令行下执行./codeTest,即可输出结果 4 指...

2018-03-24 15:47:41 163

原创 SQL语句连接查询相关知识

join可以分主次表、外联接有三种类型:完全外联,左联,右联.为便于说明,分别准备了两张表,left_table, right_table,表的定义为: create table left_table(id integer NOT NULL,  name text NOT NULL, gender character varying(10),    CONSTRAINT left_table_pk...

2018-03-24 15:27:56 331

原创 智能指针使用注意事项

1 使用模板类,能接收任意满足要求的类型2 使用引用计数,通过引用数判断是否析构;3 需重载==和!=操作符,实现智能指针与普通指针间关系的判断;4 引用计数增减功能单独实现一个类,所有需要使用智能指针的类都从该引用计数类派生;5 考虑线程安全相关问题...

2018-03-24 09:19:00 344

原创 模板类编写注意事项

模版类的定义和实现不能分开写在不同文件中,否则会导致编译错误原因:在C++中,在编译阶段才确定对象所占用的空间。模板类只有被真正使用的时候,编译器才知道,模板套用的是什么类型,应该分配多少空间。然后根据套用的类型进行编译。套用不同类型的模板类实际上就是两个不同的类型,因此这两个类型的共同成员函数实质上也不是同一个函数,仅仅是具有相似的功能。因此,模板类在套用不同类型以后,会被编译出不同的代码。结论...

2018-03-23 19:35:55 352

原创 Linux编辑工具使用技巧积累

1) 将一个文件中的部分内容复制到另一个文件中① 在非输入模式,定位光标位置到需要复制内容起始部分;② 输入v,进入可视化模式;③ 移动光标到需复制内容结尾,可用回车,方向键,鼠标选择等;④ 按y,复制内容到缓冲区;⑤ 输入命令:sp filename,切换到待复制文件;⑥ 按p键,将内容复制过去。2) vim代码自动对齐gg=g3) 将光标移动到指定位置gg+行号,回车4) 显示行号  set ...

2018-03-22 19:36:35 125

原创 使用gdb进行代码调试

1 前提条件使用g++编译代码时,增加参数-g,生成调试信息。只有如此,才能对代码进行调试。2 查看代码  1) 跳到指定行        使用list + 行号,查看指定行号附近的代码       list + 文件名:行号, 查看指定文件指定行附近的代码  2) 查看指定函数  3) 查看函数定义信息2 打断点  1) 普通断点     b + linenum,在指定行处打断点;  2) 条件...

2018-03-21 20:16:43 418

原创 SQLServer查看正在执行的SQL语句的方法

SELECT TOP 50 (total_logical_reads + total_logical_writes) AS total_logical_io, (total_logical_reads / execution_count) AS avg_logical_reads,(total_logical_writes / execution_count) AS avg_logical_wri...

2018-03-20 20:41:24 21471

原创 SQL SERVER 强制指定使用索引方法

在一些应用场景下,使用索引反而降低了查询效率。此时,希望能够通过一些方案自主控制什么时候使用索引,什么时候不使用索引。通过在网上查询相关资料,找到了一种使用 with语句的解决方案。具体介绍如下:   ① 使用 "with INDEX('指定索引名称')"--指定使用PK_indexselect count(1)from table1 a with(nolock)join table2 b wit...

2018-03-20 20:39:47 17994

原创 postgresql性能优化

1 SQL查询性能优化 1) 检查数据检索的索引是否建立,凡是需要查找的字段尽量建立索引,甚至是联合索引;创建索引,包括表达式和部分索引; 2) 使用COPY语句代替多个Insert语句; 3) 将多个SQL语句组成一个事务以减少提交事务的开销; 4) 从一个索引中提取多条记录时使用CLUSTER; 5) 从一个查询结果中取出部分记录时使用LIMIT; 6) 使用预编译式查询(Prepared Q...

2018-03-20 20:32:16 1613

原创 postgreSQL表分区使用方法

分区的意思是把逻辑上的一个大表分割成物理上的几块。分区可以提供若干好处:1 提高查询性能。   原因如下:    ① 通过创建分区,索引所占的空间减少,因此可以将高使用率的索引放入内存中,减少因磁盘读写索引造成的开销;    ② 可以将表中访问率较高的行存放到单独分区或少数几个分区上,极大提升查询性能;   ③ 通过创建分区,在查询或更新时,只需扫描数据所在的那个分区上的数据即可,避免整表扫描及使...

2018-03-20 20:29:30 804

深入浅出MFC书中源代码

深入浅出MFC中的源代码,在编译环境中看代码比看书上的代码要好多了

2014-05-29

空空如也

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

TA关注的人

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