自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VMWare Tools 共享目录设置

上面的操作后就开始安装VMware Tools了,根据其提示输入yes/no,直到出现Enjoy, –the VMware team如下图,就表示安装成功了,然后手动重启虚拟机。输入 vmware-hgfsclient 查看共享文件夹是否设置成功,如果显示文件夹名称但是到/mnt/hgfs下看不到对应的共享目录说明需要进行手动挂在操作。如果出错,可能是open-vm-dkms 组件没有安装补丁vmware-tools-patches。进入到这个文件夹下,调用./vmware-install.pl进行安装。

2023-12-14 15:53:39 571

原创 Linux VMware Tools安装

当在虚拟机上安装Linux操作系统,为了使用方便,最好安装上VMware Tools,方便操作,比如可以实现虚拟机和本机之间的自由复制粘贴等等操作。安装方法: 1、在虚拟机界面操作安装VMware Tools。 点击虚拟机右上角的”虚拟机“按钮, 选择安装VMWare Tools ,如果已经安装过了,可以选择重新安装VMware Tools ,可以继续下载相关内容。2、完成第一步操作后,找到对应的VMware Tools 的文件夹,找到对应的压缩文件将...

2021-09-22 14:45:21 598

原创 C/C++以行的方式读取文件

C语言以行的方式读取文件,可以使用fgets函数,例子如下:int ReadFileByLine(){ std::string strPath = "C:\\StoragePath\\15A0ACF042B76706BD\\00\\20191217\\Update.txt"; FILE *pFp = fopen(strPath.c_str(), "ab+"); int nWriteCnt = 0; char szWrite[512] = "File Index=123...

2020-11-12 10:07:37 1058

转载 15分钟让你了解如何实现并发中的Barrier

说到Barrier,很多语言中已经是标准库中自带的概念,一般情况下,只需要直接使用就行了。而最近一些机缘巧合的机会,我需要在c++中使用这么个玩意儿。但是c++标准库里还没有这个概念,只有boost里面有这样现成的东西,而我又不想为了这么一个小东西引入个boost。所以,我借着这个机会研究了下,发现其实这些多线程/并发中的东西还是蛮有意思的。阅读本文你可能需要如下的一些知识: 多线程编程的概念。 c++的基本语法和有关多线程的语法。 第二条可能也没有那么重要,因为如果理解..

2020-08-31 15:39:26 1293

转载 Barrier与多线程

程序世界的barrier同步屏障(Barrier)是并行计算中的一种同步方法。对于一群进程或线程,程序中的一个同步屏障意味着任何线程/进程执行到此后必须等待,直到所有线程/进程都到达此点才可继续执行下文。-wiki关于barrier的理解barrier字面意思是栅栏、屏障,它们起到隔离或者保护的作用。就好比特朗普要修建的墨西哥墙便是一种barrier。imageCPU和编译器的乱序优化接下来要讲的是Memory barrier,这个还得从头说起。CPU和编译器都会对程序.

2020-08-31 15:34:24 1128

原创 ABI接口与API接口

API和ABI很类似,两者的全程只有一字之隔,API(Application Programming Interface)和ABI(Application Binary Interface),其实两者都是应用程序接口,只是区别在于API是源代码层的应用程序接口,比如POSIX就是一个API,Windows所规定的应用程序接口都是API;ABI是二进制层面的接口,ABI的兼容成都比API更严格。 举个例子,比如POSIX的pirntf()函数,在API层面,他能保证所有支持POSIX标准的系...

2020-08-19 13:58:13 3093

转载 汇编语言入门教程

学习编程其实就是学高级语言,即那些为人类设计的计算机语言。但是,计算机不理解高级语言,必须通过编译器转成二进制代码,才能运行。学会高级语言,并不等于理解计算机实际的运行步骤。计算机真正能够理解的是低级语言,它专门用来控制硬件。汇编语言就是低级语言,直接描述/控制 CPU 的运行。如果你想了解 CPU 到底干了些什么,以及代码的运行步骤,就一定要学习汇编语言。汇编语言不容易学习,就连简明扼要的介绍都很难找到。下面我尝试写一篇最好懂的汇编语言教程,解释 CPU 如何执行代码。一、汇编语言

2020-08-18 10:27:21 213

转载 汇编常用指令

通用寄存器及使用IA-32系列有8个32位通用寄存器,名称分别为:EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI,如图:简单传送指令指令 中文名 格式 解释 备注 MOV 传送指令 MOV DEST,SRC DEST<=SRC XCHG 交换指令 XCHG OPER1,OPER2 把操作数oper1的内容与操作数oper2的内容交换 oper1和oper2可以是通用寄存器或存储单元,但不.

2020-08-18 10:22:08 289

原创 C语言好宏定义细节注意

在代码展开这块,C语言有别于C++;C++除了能够同C语言一样,使用宏,进行代码展开外,还可以使用 inline定义的方式;就宏定义而言,使用时,能够让代码的可读性变的更清晰;但是,在使用的时候,如果稍有不慎,就会出现问题,现在就宏定义的问题进行简单的归纳总结: 一般用宏去定义一个常量,这是最简单的宏定义,也基本上没有多少雷区,就不进行说明;现在主要介绍类似于函数的宏定义中,隐藏的...

2019-07-07 15:47:05 346

原创 C语言指针自加和强转后自加

C语言中,指针的运用很多,也很灵活;同时,指针的使用也会蕴藏着很大的风险,如果稍不留意,可能就会造成整个程序崩溃的风险;在进行编程时,使用指针,基本上都有了基本的理解,这里就不去对指针进行介绍,直接奔入主体了; 大家应该都知道,指针的自加,就是自动跳跃到下一个对象了,我们举个例子,比如数组 int a[10];...

2019-07-06 15:00:11 1461

转载 C++类型转换

用转换构造函数可以将一个指定类型的数据转换为类的对象。但是不能反过来将一个类的对象转换为一个其他类型的数据(例如将一个Complex类对象转换成double类型数据)。C++提供类型转换函数(type conversion function)来解决这个问题。类型转换函数的作用是将一个类的对象转换成另一类型的数据。如果已声明了一个Complex类,可以在Complex类中这样定义类型转换函数:...

2019-06-18 14:08:44 576

转载 Socket编程中AF_INT 和 AF_UNIX的区别

1.  AF_INET域socket通信过程典型的TCP/IP四层模型的通信过程。 发送方、接收方依赖IP:Port来标识,即将本地的socket绑定到对应的IP端口上,发送数据时,指定对方的IP端口,经过Internet,可以根据此IP端口最终找到接收方;接收数据时,可以从数据包中获取到发送方的IP端口。发送方通过系统调用send()将原始数据发送到操作系统内核缓冲区中。内核...

2018-12-28 16:18:00 1732

转载 InnoDB的表类型,逻辑存储结构,物理存储结构

表类型对比Oracle支持的各种表类型,InnoDB存储引擎表更像是Oracle中的索引组织表(index organized table)。在InnoDB存储引擎表中,每张表都有个主键,如果在创建表时没有显式地定义主键(Primary Key),则InnoDB存储引擎会按如下方式选择或创建主键。首先表中是否有非空的唯一索引(Unique NOT NULL),如果有,则该列即为主键。 不...

2018-09-04 11:01:18 601 1

转载 InnoDB 引擎独立表空间 innodb_file_per_table

使用过MySQL的同学,刚开始接触最多的莫过于MyISAM表引擎了,这种引擎的数据库会分别创建三个文件:表结构、表索引、表数据空间。我们可以将某个数据库目录直接迁移到其他数据库也可以正常工作。然而当你使用InnoDB的时候,一切都变了。InnoDB 默认会将所有的数据库InnoDB引擎的表数据存储在一个共享空间中:ibdata1,这样就感觉不爽,增删数据库的时候,ibdata1文件不会自动收缩...

2018-09-04 10:59:58 5015

转载 [Windows编程] 如何捕捉程序异常 crash 并生成 dump 文件(转)

程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件。 步骤:1) 打开WinDBG并将之Attach 到crash的程序进程2) 输入产生dump 文件的命令WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。 选项(1): /...

2018-08-15 16:22:39 2883

原创 Unicode编码以及UTF、UCS等概念理解

       最近在搞一个服务器打包软件,因为在打包软件中,会调用很多配置文件,这些配置文件,开始的时候,我为了方便很多都是用的GB2312编码,开始完成了以后,打包简体中文版本的我们公司的服务器,没有任何问题,一切正常;过了一段时间,海外事业部要求我给他们打包一个繁体中文的服务器,以适应台湾等地区的要求,这下就把我难住了,因为整个打包程序的编码格式都要改为Unicode的编码。那么问题就来了,原...

2018-08-10 16:30:58 2993

转载 MySQL配置文件-my.ini

MySQL配置文件-my.ini原文地址:http://www.cnblogs.com/Ray-xujianguo/p/3322455.html下面允许我介绍一下MySQL的my.ini配置文件(备注:在Linux系统中Mysql的配置文件叫做My.cnf,在windows系统下称为My.ini):my.ini是什么?  my.ini是MySQL数据库中使用的配置文件,修改这个...

2018-08-07 15:52:04 1053

转载 Innodb与Myisam引擎的区别与应用场景

1. 区别:(1)事务处理:MyISAM是非事务安全型的,而InnoDB是事务安全型的(支持事务处理等高级处理);(2)锁机制不同:MyISAM是表级锁,而InnoDB是行级锁;3)select ,update ,insert ,delete 操作:MyISAM:如果执行大量的SELECT,MyISAM是更好的选择InnoDB:如果你的数据执行大量的INSERT或UPD...

2018-08-07 15:48:52 207

转载 何为去中心化

最近查看某公司官网的产品介绍,有提到产品具有“去中心化”的技术方案,出于好奇了解一下,在此分享,有不妥之处还请指正。 先看看什么是“中心化”,目前,各个银行、支付宝、微信的运作方式,从是否中心化意义上划分,无一例外全都是“中心化”的。 我个人想象,在没有计算机的时代,各个银行应该是有个保密级别很高的档案库,其中有很多本手工账本,记录了银行所有账户的流水信息,每次有人取钱、存钱,银行人员都需要进入...

2018-08-07 11:42:30 389

转载 MySQL_插入更新 ON DUPLICATE KEY UPDATE

平时我们在设计数据库表的时候总会设计 unique  或者 给表加上 primary key 的限制条件.此时 插入数据的时候 ,经常会有这样的情况:我们想向数据库插入一条记录:  若数据表中存在以相同主键的记录,我们就更新该条记录。  否则就插入一条新的记录。逻辑上我们需要怎么写:$result = mysql_query('select * from xxx where id = 1');$r...

2018-05-30 14:37:24 7534 1

转载 C++ new的放置语法

转载自:https://blog.csdn.net/intheway_acm/article/details/5648604#include &lt;iostream&gt;using namespace std;struct Node{    int u;    Node(int uu = 0):u(uu){        //cout &lt;&lt; "create" &lt;&lt; en...

2018-05-18 09:53:46 770

转载 UUML和绘图工具Visio介绍

UML,全称是Unified Modeling Language,中文是"统一建模语言"。通俗点说,UML是一种创建模型的语言。UML是在开发阶段,说明,可视化,构建和书写一个面向对象软件密集系统的制品的开放方法。它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。 本章介绍通过UML绘图工具:

2017-12-20 14:30:51 1268

转载 MySQL中的UNIX_TIMESTAMP函数使用总结

MySQL中的UNIX_TIMESTAMP函数有两种类型供调用1  无参数调用:UNIX_TIMESTAMP() 返回值:自'1970-01-01 00:00:00'的到当前时间的秒数差例子:SELECT UNIX_TIMESTAMP()  => 13391234152  有参数调用:UNIX_TIMESTAMP(date)其中date可以是一个DATE字符串,一个DATETI

2017-12-14 08:53:36 1621

转载 内存介绍只SRAM与DRAM

在上体系结构这门课之前,我只知道DRAM用作内存比较多,SRAM用作cache比较多。在今天讲到内存技术时,我对于这两个基础概念有了更加完整的认识。这篇文章是我的听课心得,现在分享给各位,仅供参考,若有错误多多指正。  从名字上看,SRAM与DRAM的区别只在于一个是静态一个是动态。由于SRAM不需要刷新电路就能够保存数据,所以具有静止存取数据的作用。而DRAM则需要不停地刷新电路,否则内

2017-10-17 15:40:40 2267

原创 VS2003 搜索直接导致卡死问题

最近重装了下操作系统,然后将VS的环境都重新搭建了;在利用VS2003看代码的时候,准备find查询的时候,直接软件就卡死了;开始以为只是电脑开的东西太多了,导致搜索太慢,因为缩小搜索范围的时候,就没有问题了;只是简单的将所有的东西关掉,然后重启电脑,再次进行尝试,结果VS2003已然卡死,最终在网上寻找原因,发现只是简单的将VS2003的视觉渲染关掉就行了;具体情况,先找到VS2003的安装目录

2017-10-13 14:48:36 1023

原创 数据的扩展与截断

最近时间比较闲,无事拿着深入理解计算机原理读了起来;突然发现,平时只知道写代码,很多细节方面的知识都被我们忽略了,而这些东西随时都可能给我们的程序造成一个灾难性但却又难以发现的漏洞,比如在我们平时用C或C++编程的时候,我们经常会用到类似数据类型强制转换等操作,而我们却没有用心去考虑,这样的转换是否存在漏洞现在简单说说数据的扩展和截断。   1、数据的扩展    在数据扩展的时候,需要将数

2017-09-05 16:12:05 2583

原创 读程序员的自我修养之编译

编译器的主要作用就是将高级语言编译成机器语言的一个工具;在编译器出现之前,程序员都忙碌于使用机器语言或者汇编语言编程,这是一个复杂而又繁琐的工作。同时,编写的程序只能在特定的CPU环境下运行,如果换一种CPU环境,又需要重新开发,这几乎是让人不能接受的。到了上个世纪六七十年代,出现了很多高级编程语言,比如C++和Fortran,这些高级语言的出现,使得程序员能够根据专注于程序逻辑的本身,而尽量减少

2017-08-17 10:18:38 262

转载 _bstr_t类型

1._bstr_t是个对bstr的类,具体定义可以看comutil.h。     com组件传输字符串有固定的标准,就是bstr,这样才能在不同的语言里调用,试想你传的是c的某个字符串类型,vb又如何调用呢?ado是个com组件所以传的也是bstr,使用_bstr_t不但方便接收,而且方便处理。2.严格地说_bstr_t不属于对bstr的类,它可以直接转换成bstr型,也可以直接转换成普通

2017-08-15 11:49:07 10631

转载 VARIANT 数据类型

VARIANT 数据类型在文件OAIDL.IDL中定义如下: 【vc中数据类型,对应类为_variant_t】struct tagVARIANT {    union {        struct __tagVARIANT {            VARTYPE vt;            WORD    wReserved1;          

2017-08-15 11:48:31 6814

转载 OOAD初学

OOAD基本概念 学习目标:1.理解与掌握面向对象的概念与方法。2.使用UML。3.完成面向对象的分析与设计工作。4.了解OO的设计原则及一些典型的设计模式 什么是面向对象?面向对象(Object-Orientation, 简称OO)是一种系统建模技术。面向对象编程(Object-Orientation Programming,简称OOP)是

2017-08-15 11:22:02 296

原创 动态/静态语言及强类型/弱类型语言简析

通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。动态语言优点:方便

2017-08-15 10:14:39 1187

原创 编译型语言与解释型语言简析

我们先看看编译型,其实它和汇编语言是一样的:也是有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这个过程说得专业一点,就称为编译(Compile),而负责编译的程序自然就称为编译器(Compiler)。如果我们写的程序代码都包含在一个源文件中,那么通常编译之后就会直接生成一个可执行文件,我们就可以直接运行了。但对于一个比较复杂的项目,为了方便管理,我们通常把代码分散在各个源文

2017-08-15 09:53:03 222

转载 C++获取磁盘分区空间情况

#include "stdafx.h"#include #include int count_file_delete_time(const char* p_file_time, char* n_delete_time, int n_store_days);//将PULARGE_INTEGER类型的字节(B)数转化为(GB)单位#define GB(x) (x.H

2017-08-15 09:28:02 3358 2

转载 C文件操作——fopen/fseek/ftell/fread/fwrite/fclose等函数用法

1. fopen FILE * fopen(const char * path,const char * mode);函数说明  参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。  mode有下列几种形态字符串:  r 打开只读文件,该文件必须存在。  r+ 打开可读写的文件,该文件必须存在。  rb+ 读写

2017-08-15 09:13:39 1130

转载 C/C++时间函数

1、time函数头文件:time.h函数定义:time_t time (time_t *t)说明:返回从1970年1月1日的UTC时间从0时0分0妙算起到现在所经过的秒数。#include#includeint main(){time_t timep;long seconds = time(&timep);printf("%l

2017-08-15 09:10:18 3185

原创 itoa函数 和_itoa_s函数

itoa, 将整数转换为字符串。char *  itoa ( int value, char * buffer, int radix ); 它包含三个参数:value, 是要转换的数字;buffer, 是存放转换结果的字符串;radix, 是转换所用的基数,2-36。如,2:二进制,10:十进制,16:十六进制扩展:ltoa(

2017-08-07 14:53:52 5789 1

转载 fastcall,stdcall,thiscall,cdecl学习

1. 被这些修饰关键字修饰的函数,其参数都是从右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈,但不同的是函数名的修饰部分(关于函数名的修饰部分在后面将详细说明)。_stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和参数的字节数。

2017-08-02 11:52:14 627

转载 AX ,BX ,CX ,DX SI 各种寄存器

AX――累加器(Accumulator),使用频度最高BX――基址寄存器(Base Register),常存放存储器地址CX――计数器(Count Register),常作为计数器DX――数据寄存器(Data Register),存放数据SI――源变址寄存器(Source Index),常保存存储单元地址DI――目的变址寄存器(Destination Index),常保存存储单

2017-08-02 10:50:03 19716

转载 联合体了解

时间久了,慢慢很多编程的一些基础知识,慢慢的都有些遗忘,有时间,还是要温习一下~1.概述联合体union的定义方式与结构体一样,但是二者有根本区别。在结构中各成员有各自的内存空间,一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间,一个联合变量的长度等于各成员中最长的长度。2.联合体长度在The C Progra

2017-07-31 11:38:43 212

转载 _CrtIsValidHeapPointer出错的解决方法

前段时间,封装一个库,开始用VS2010封装的,写了一个demo,测试完全没有问题,后来同事需要调用我的那个库,需要我编译一个VS2003版的dll库给他,我就重新封装了一个库,写了个demo一测试,运行是没问题,快结束时,总是报_CrtIsValidHeapPointer出错;因为开始在10版本里面没有问题,封装了03版本才出的问题,总是觉得自己是不是库的接口什么地方写的有问题,导致出栈入栈有问

2017-07-25 20:28:38 17902 4

ACE自适配通信环境中文技术文档

ACE自适配通信环境中文技术文档

2021-05-22

onvif2.0协议(中文版)

onvif标准协议(中文版),包含了完整的onvif开发的协议内容,欢迎下载!!

2015-06-17

空空如也

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

TA关注的人

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