自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(45)
  • 资源 (4)
  • 收藏
  • 关注

转载 C++发送消息格式为JSON的http请求

JSON是类似于xml的一种用于信息交互的轻量级信息定义格式,可扩展性也很好。如何用C++写的代码来发送http请求,消息格式采用JSON呢?下面我一步一步介绍。所有步骤都经实际验证,测试平台为linux系统。    1. 发送http请求需要安装curl库。这个库一般linux系统是自带的。自己可以在系统目录查看下即可。    2. 需要构造和解析json格式的消息要用到jsoncp

2015-10-14 14:30:55 648

原创 一个简单的继承

两个类,一个base,一个derive。并且两个类中都shix

2014-11-25 11:23:07 228

转载 ftp返回状态注解

参考:http://www.cnblogs.com/suger/archive/2011/11/10/2243954.htmlftp返回状态注解

2014-11-21 17:03:30 245

转载 openssl之RSA相关函数

引用:http://blog.sina.com.cn/s/blog_4f51dac40100u2jt.html

2014-11-21 16:56:07 336

转载 openssl的RSA算法C++调用

参考:http://blog.sina.com.cn/s/blog_4f51dac40100u3co.html代码如下:

2014-11-21 16:50:04 898

转载 OpenSSL编程-非对称加密、对称加密及RSA简介

引用:http://www.qmailer.net/archives/212.html

2014-11-21 15:21:43 283

原创 sqlite的自增主键与自增主键归零

引用:http://blog.csdn.net/lanruoshui/article/details/5179946http://www.jb51.net/article/50049.htm1.sqlite的自增主键:用数据库缓存一些数据,想实现队列的那种,先入先出,需要对插入sqlite的数据进行个排序,实验了rowid,好像sqlite不能按照rowid删除,故考虑增加

2014-10-29 16:05:27 1562

VS2010 助手安装

从CSDN下载了Visual Assist X 10.6.1833.0版本的破解版,安装目录为默认的c://program files/Visual Assist X/,当我把破解的VA_X.dll粘贴到该目录下,VC++ 6.0可以正常启动Visual Assist,但是VS2010仍然会有提示是“试用”“input key" "Buy", "Cancel",在doc365里有一篇文章,提示

2014-06-23 17:57:33 189

原创 FTP的C++风格上的实现

被动方式 ,连接FTP,然后上传下载文件。linux下连接,源码如下:FTP.h#ifndef FTP_H_#define FTP_H_#include #include class CFTP{public: CFTP(void); ~CFTP(void); //连接ftp服务器 int ftp_connect(co

2012-12-03 11:40:54 4833 6

转载 linux下生成动态库与静态库

一、基本概念1.1什么是库在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的平台不同(主要是编译器、汇编器和连接器的不同),因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。  1.2库的种类linux下的库有

2012-10-23 09:59:28 1622

原创 sql语句总结

oracle下的,还不清楚oracle下与mysql有什么区别1.简单语句:select  * from wpps_nwp_deal_dr ;insert into wpps_nwp_deal_dr  ID,date values(1,'1985-02-23');update wpps_nwp_deal set date='1985-02-23' where ID=1;2.曾经

2012-09-21 13:24:18 275

原创 linux下程序的启动

理论知识:首先,linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件(脚本程序简单的说就是把要运行的程序写 到一个 文件里让系统能够按顺序执行,类似windows下的autorun.dat文件),另外在/etc这个文件夹里还有诸如名为rc1.d, rc2.d一直到rc6.d的文件夹,这些都是linux不同的runlevel,我们一般进入的X windo

2012-08-16 17:21:36 281

转载 linux下安装oracle客户端

首先补充或总结四点,原创内容,对原文进行补充,呵呵1.    第五步中要配置的三个文件,应该不用全部配置,只配置tnsnames.ora应该就可以。2.    如果在64位上案子64位的oracle客户端,运行“./sqlplus”时,会报错如下:[root@bogon lib]# ./sqlplus./sqlplus: error while loading shared lib

2012-08-09 11:28:17 2024

转载 VMware安装linux Redhat Enterprise5

1.准备工作:下载VM和linux Enterprise5 。VMware8.0 汉化版下载地址:http://www.itopdog.cn/utilities-operating-systems/virtual-machine/vmware-workstation.htmllinux Redhat Enterprise5下载地址(迅雷复制链接):ed2k://|file|%5B%E7%B

2012-08-09 00:29:29 476

原创 sizeof与strlen的区别

引用这篇文章一、sizeof    sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。    它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。    由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、

2012-05-31 11:31:49 233

sizeof与strlen的分析

#include "iostream"using namespace std;int main(){ int a= 100; char c = 'c'; char var[] = "123456"; char *p = "123456"; char *q = new char[100]; q[50] = 0; cout<<"sizeof(int) = "<<sizeof

2012-05-31 11:21:37 65

原创 extern "c"解析,C++中引入C++全局函数

1. 经常看到说明在c++中引用c的库函数要添加 exter "c"。一直没有深究过这个问题,现在理论上分下下。C++为了标示多态,编译之后的obj文件是和C编译的文件不同的。同样的 int add(int x,int y)如果用C编译就会编译成_add,但如果是C++编译就是_add_int_int,C++编译的obj会带参数。在C++代码中常见的应用是#ifndef _DIST

2012-05-31 10:37:00 347

原创 memcpy 与 strcpy的区别(实现一个string发现的)

实践是检验真理的唯一标准,老以为自己都知道了,谁知实现一个string都能发现这么多问题。

2012-05-29 17:29:26 65

原创 C++ 中类的访问控制

因为要写一个string类,在编写复制构造函数时,发现居然可以访问对象的private变量,故百度之,发现原来的认识很浅显。代码如下:TString::TString(const TString &string1){ int len = strlen(string1.buf); buf = new char[len+1];// memcpy(buf,&string1,len);

2012-05-29 17:04:47 259

原创 C++ 宏 define 与const的区别

1.宏的定义方法:#define time 500#define ADD(X) ((X)+(X))注意:第一个基本与const(静态变量)相当,但const不能实现第二种情况宏不需要加 ";",如果分两行来写的话,需要用 “/”连接。#undef,来取消已定义的宏,取消后可以重新定义2. 宏与const的区别1.define由预处理程序处理,const由编译

2012-05-15 17:10:17 352

原创 ACE程序员指南:第三章ACE日志

1.测试程序:testlog.cpp代码如下:#include "ace/OS_main.h"#include "ace/Log_Msg.h"//#define ACE_NTRACE 0 /*类似的ACE_NDEBUG ACE_NERROR;如果ACE_NTRACE为1,标示不生产ACE_TRACE的日志*/void foo(void);int ACE_TMAIN(int ar

2012-05-10 10:20:58 136

原创 ACE程序员指南:第一章、第二章读书笔记

第一章:ACE很牛,可以用在很多地方,解决了很多OS、C++版本的不兼容的问题;第二章:如何编译ACE,以及如何运行一个正确的ACE程序(包含头文件、加载dll等等);注意:ACE_wrappers文件夹下有docs里面是部分说明文件;ACE_wrappers下的examples里面包含很多例子,好像上次是这儿的程序运行不了。

2012-05-04 15:51:59 340

原创 windows上获取内存信息的代码

代码如下:#include #include #include "psapi.h"#pragma comment(lib, "Psapi")void PrintMemoryInfo( DWORD processID ){ HANDLE hProcess; PROCESS_MEMORY_COUNTERS pmc; // Print the process identif

2012-03-21 17:06:31 774

原创 vs2008+qt4.6.2程序移植

将vs2008+qt4.6.2编译的程序放到没安装过vs2008和QT的XP机器上运行,遇到的问题。1.vs2008需要一些库,在XP上没有这些库文件;安装vcredist_x86.exe,拷贝安装过vs2008机器的C:\WINDOWS\WinSxS目录等方法,待总结。2.QT4中文显示问题;中文显示问题的解决:首先编译的时候本机中文显示不了,需要加一段代码,设置QT的解码方

2011-12-05 12:57:41 755

原创 #include中引号与尖括号的区别

双引号表示先在程序源文件所在目录查找,如果未找到则去系统默认目录查找,通常用于包含程序作者编写的头文件;尖括号表示只在系统默认目录或者括号内的路径查找,通常用于包含系统中自带的头文件今天就用错了,一个日志文件死活加载不进来。。。“”更高级一点儿,加载自己的文件用“”,加载系统目录中的文件用

2011-10-21 11:15:50 571

原创 C++内存泄露整理

内存泄露是因为new的空间,没有及时delete掉,导致程序运行所需要的内存越来越大。可能是因为以下原因导致未delete掉1.真正的没有delete,程序中只有new忘记delete了,这个比较明显,目前未在这方面犯过错误。2.new的变量需要放到一个list中,在

2011-10-11 16:22:43 255

原创 指向函数的指针

这个有时间再好好研究研究,现在明白了,没什么机会去用。把代码贴上。#include "stdafx.h"typedef char *(*PtoFun)(); //用typedef 说明可以用PtoFun声明一个向函数的指针类型,int main(int argc, cha

2011-09-29 11:36:57 282

原创 case语句中定义变量

case语句规范:在每个case后面加一个{},貌似一个编程规范上说过,没注意。这样加了{}之后如果再改case中需要局部变量就可以在case中声明了。 char c; std::cin>>c; switch (c) { case 97: { int i = 0; //it is right. std::cout<<c; break; } case 98

2011-08-09 13:35:48 873

转载 经典C++源码

http://app.cnzer.cn/view-92102-1.html

2011-06-14 11:51:00 67

原创 unix编程

unsigned short a = unsigned short (0xFFFF);为什么在windows上编译正确,在unix上编译错误呢,过段时间学学unix上的编程,看看为什么。float HZ=(float(pData[24]+pData[25]*256))/10;这个在unix上也错误。

2011-06-10 15:37:00 204

转载 linux-Vi使用方法(备查)

引用:http://www.newsmth.net/pc/pccon.php?id=5721&nid=220783 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最

2011-06-08 12:01:00 171

原创 UNIX初级命令:第一章 目录及文件操作命令

引用:http://www.ccvita.com/23.html第一章 目录及文件操作命令  1.1 ls [语法]: ls [-RadCxmlnogrtucpFbqisf1] [目录或文件......][说明]: ls 命令列出指定目录下的文件,缺省目录为当前目录 ./,缺省输出顺序为纵向按字符顺序排列。-R 递归地列出每个子目录的内容-a 列出所有文件,包括第一个字符为“.”的

2011-06-07 15:16:00 352

原创 Chapter2 varibles and Basic Types

<br />第二章 variables and Basic Type<br />2010-05-29许昌<br />2.1 primitive Built-in Type<br />使用double类型基本上不会有错。在float类型中隐式的精度损失是不能忽视的,而double类型精度代价相对于float类型精度代价可以忽略。事实上,有些机器上,double类型比float类型的计算要快得多。long double类型提供的精度通常没有必要,而且还需要承担额外的运行代价。<br />    字符类型有两种:

2011-05-30 10:06:00 88

原创 Chaper1 GettingStarted

<br />2010-04-01西安<br />开始学习这本书,读完了preface。<br />三个组成部分:<br />·         The low-level language, largely inherited from C<br />低级语言,多半继承自 C。<br />·         More advanced language features that allow us to define our own data types and to organize large-scal

2011-05-30 10:01:00 72

原创 error LNK2001: unresolved external symbol总结

1.有可能是类的函数实现的时候错误。如:应该为MVT_PAR1* GpsTcpCallback::GetMUT_PAR1(unsigned char* data,int i),却写成了MVT_PAR1* GetMUT_PAR1(unsigned char* data,int i)error LNK2001: unresolved external symbol public: struct MVT_PAR1 * __thiscall GpsTcpCallback::GetMUT_PAR1(unsigned

2011-04-28 11:42:00 2420

原创 typedef和#define的用法与区别-转载

一直在用,但从来未关注过两者的区别,经常用一个再见到另一个就不敢认了,现总结下。一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef    int       INT;typedef    int       ARRAY[10];typedef   (int*)   pINT;typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性”等缺点。二、#define的用法#defi

2011-01-06 11:35:00 299

原创 需要学习的东西

<br />1.dll的编程方法:怎么调用,怎么实现!搞懂原理。<br />2.VC6的使用技巧,一个工程文件应该包含的东西,以及包含东西的意义、原理。<br />   理解VC中的头文件编写。<br />   搞明白环境变量的设置以及设置的意义!<br />3.系统学习一个编程的书,C++primer或者 QT4编程或者两者都练习一遍!<br />4.研究下LINUX系统,搞下LINUX下的编程。<br />5.研究下数据库技术!<br />6.软考方面的东西。

2010-12-23 15:14:00 58

原创 error LNK2005: __chsize already defined in MSVCRTD.lib(MSVCRTD.dll)

引用:http://www.cnblogs.com/Frodo/archive/2008/02/04/1064267.htmlhttp://www.builder.com.cn/2007/1127/656198.shtml关键字:运行时系统 单线程 多线程 DEBUG RELEASE出现错误原因:单线程的程序引用了多线程的lib库或者多线程的程序引用了单线程的lib库导致。msdn:警告   不要混合使用运行时库的静态版本和动态版本。在一个进程中有多个运行时库副本会导致问题,因为副本中的静态数据不与其他副本

2010-11-22 17:36:00 1729

原创 breakPoint 相关

现象是用 debug中的 step info或者run to cursor合着设置断点会出现One or morebreakpoints cannot be set and have been disabled.   Execution will stopat the beginning of the program.解决方法,1.在project->setting->c/c++-general->debug info->program databse for edit and continue ;2.ed

2010-11-18 15:17:00 1122

原创 meset 函数介绍,及其使用规则

<br />百度百科:<br />需要的头文件<br />  <memory.h> or <string.h>编辑本段函数原型<br />  void *memset(void *s, int ch, unsigned n);编辑本段程序例<br />  #include <string.h><br />  #include <stdio.h><br />  #include <memory.h><br />  <br />memset函数<br />int main(void)<br />  {<br /

2010-11-16 11:24:00 1269

linux下TCPTDP调试工具 sokit-master

linux下网馈调试工具,方便现场调试。基于qt4的图形界面,亲测在centos7下可以正常使用。

2018-01-19

101 104详细介绍

该PPT详细介绍了IEC101、104规约的报文收发、延时处理,以及T1/T1/T2/T3的意义,是一个学习104通讯的不可多得的好材料。

2011-05-30

Modbus规约文档

详细介绍了Modbus规约的收发报文,以及串口设置。

2011-05-30

空空如也

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

TA关注的人

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