C++
96掌门师兄
showcode1024
展开
-
JNA调用C++动态库,返回二维数组
动态库编译后放到system32下,system下是64位的,SysWow64是32位的。1.下载eclipse创建一个项目,jdk选择1.8的版本,更高的需要配置下。原创 2024-01-15 14:01:29 · 622 阅读 · 0 评论 -
C++ libmysql.lib
1.字符集设置数据库uft8, VS2015 unicode,要先设置字符集 strcpy_s(sql, "set names utf8"); int ret = mysql_query(connect, sql); if (ret) { //showError(mysql_error(connect)); return mysql_errno(connect); }原创 2022-04-16 21:39:09 · 1229 阅读 · 0 评论 -
C++ 命名规范
sz表示string terminated by 0 character。0结尾的字符串原创 2021-11-01 16:58:06 · 141 阅读 · 0 评论 -
C++11
autoauto不能作为函数的参数,后续C++20 可以了原创 2021-06-18 11:54:14 · 121 阅读 · 0 评论 -
MinGW Cygwin
MinGW 是让Windows 用户可以用上GNU 工具,比如GCC。Cygwin 提供完整的类Unix 环境,Windows 用户不仅可以使用GNU 工具,理论上Linux 上的程序只要用Cygwin 重新编译,就可以在Windows 上运行。如果程序只用到C/C++ 标准库,可以用MinGW 或Cygwin 编译。如果程序还用到了POSIX API,则只能用Cygwin 编译。程序经MinGW 编译后可以直接在Windows 上面运行。程序经Cygwin 编译后运行,需要依赖安装时附原创 2021-05-19 13:44:43 · 640 阅读 · 0 评论 -
VC++ 选择对话框
1. 选择文件文件过滤器规则https://blog.csdn.net/ytz201201/article/details/83904119原创 2021-03-17 15:42:05 · 109 阅读 · 0 评论 -
命令行登陆邮箱,接收发送邮件
qq邮箱使用pop3登陆的时候,pass 填写的不是邮箱密码,是授权码telnet pop.qq.com 110user xxxxxPASS xxxxx原创 2020-06-13 11:25:29 · 1163 阅读 · 0 评论 -
boost库
1.安装 2020.06.06 最新版本是1.73tar zxvf boost_1_59_0.tar.gz cd boost_1_59_0 ./bootstrap.sh --prefix=/usr/local/boost ./b2 install默认的prefix是/usr/local,如果使用默认prefix,如果使用prefix就不用添加环境变量接下来需要配置一下环境,打开/etc/profile,添加以下内容:export LD_LIBRARY_PATH=$LD_LIBRARY_PA原创 2020-06-06 11:31:58 · 133 阅读 · 0 评论 -
libcurl
编译:https://my.oschina.net/u/1420791/blog/198247注意libcurl使用MD原创 2020-04-17 17:28:52 · 123 阅读 · 0 评论 -
C++ 输入输出 &&那些事
1. cin遇到空格,回车就会结束,如果输入中有空格,使用stringinput;getline(cin, input, '\n');2文件操作的各种方法#include <iostream>#include <string>#include <fstream>#include <iomanip>bool CClass::...原创 2019-12-08 12:08:01 · 806 阅读 · 0 评论 -
battleship源码 编译
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <time.h>#include <sys/types.h> #include <sys/socket.h>#include <...原创 2019-12-03 16:24:39 · 3 阅读 · 0 评论 -
main(int argc, char* argv[])
//for(int i=0;i<argc;i++)// cout<<argv[i]<<endl; g_strCfgFile = argv[1]; //第一个参数是进程名 g_Server.m_iServerIndex = atoi(argv[2]); printf("%s %d\n", g_strCfgFile....原创 2019-11-02 11:45:38 · 374 阅读 · 0 评论 -
Linux进程
在后台启动进程,不随shell终端关闭停止nohup ./xxx &1.启动指定进程execlp(szFileName, szFileName, "secondpara", (char *)0, NULL); //注意,这里发送给子进程的是2个参数,第一个是进程名 要将子进程的路径到添加环境变量PATH中,如: export PATH=$PATH:/usr/...原创 2012-08-15 10:03:03 · 586 阅读 · 0 评论 -
Poco库使用
1. 在引用的Poco的工程中,不能添加Poco的头文件路径 如: ../../include/Poco, 直接添加../../include/就可以了 使用头文件的时候#include "Poco/ThreadPool.h"2.http获取服务端返回的header信息HTTPClientSession &httpClientSession;istream&...原创 2015-04-13 11:50:06 · 2283 阅读 · 1 评论 -
Sqlite使用
稍后更新原创 2014-08-22 10:56:31 · 621 阅读 · 0 评论 -
lua快速入门
#includeusing namespace std;extern "C"{#include "lua.h" #include "lauxlib.h" #include "lualib.h" }int main(int argc, char *argv[]){//1.创建Lua状态 lua_State *L = luaL_n原创 2016-07-15 10:19:27 · 570 阅读 · 0 评论 -
pthread_cond_init
1.初始化条件变量pthread_cond_init#include int pthread_cond_init(pthread_cond_t *cv, const pthread_condattr_t *cattr); 返回值:函数成功返回0;任何其他返回值都表示错误 初始化原创 2011-07-15 15:49:37 · 1963 阅读 · 0 评论 -
C++常见功能小函数
1. 获得当前系统启动以来的时间#include <time.h>unsigned long GetTickCount(){struct timespec ts;clock_gettime(CLOCK_MONOTONIC, &ts); //CLOCK_MONOTONIC 不会受系统时间改变影响return (ts.tv_sec * 1000 + ts.tv...原创 2020-03-08 18:15:47 · 1111 阅读 · 1 评论 -
自增自减运算符
1.自增自减运算符的优先级比 + - * /原创 2014-04-16 15:44:13 · 1286 阅读 · 0 评论 -
C++ 异常捕获 try 和 __try的区别
抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为: throw 表达式; 如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某个catch语句所捕获并处理,捕获和处理的条件是被抛弃的异常的类型与catch语句的原创 2015-01-16 16:27:46 · 21581 阅读 · 1 评论 -
VC GDI编程
正文 所谓GDI(Graphics Device Interface,图形设备接口)其实就是API函数中专门针对于图形开发的函数集合这些函数都是Microsoft公司编写好的,为了能让开发人员快速地开发图形程序,开发人员只需要调用就行在谈GDI函数之前,一定要先讲一下数据,因为图形开发,肯定离不开数据以简单的二维图形为例,你想在窗口中显示一个正弦曲线,就必须有这个正弦曲线的数据,然后用GDI提供...转载 2011-10-10 10:14:14 · 2199 阅读 · 0 评论 -
GDI+使用心得
1.Graphics *pGrap = Graphics::FromImage()返回的是一个指针变量,要释放;//删除对象空间#define DELETE_P( p ) \{\ if (p != NULL) \{ \ try{ \ delete p;\} catch(...) {}\ p = NULL; \}\} 2.char buf[]转换为Bi原创 2012-02-22 11:43:04 · 571 阅读 · 0 评论 -
文件操作(文件系统设计项目总结)
1.size_t fread(void*buffer,size_tsize,size_tcount,FILE*stream); 功 能: 从一个流中读数据 参 数: 1.用于接收数据的地址(指针)(buffer) 2.单个元素的大小(size) :单位是字节而不是位,例如读取一个int型数据就是4个字节 3.元素个数(count)原创 2012-03-30 14:26:26 · 1007 阅读 · 0 评论 -
根据内存提示定位错误代码
一般程序崩溃可以通过debug,找到程序在那一行代码崩溃了,最近编一个多线程的程序,都不知道在那发生错误,多线程并发,又不好单行调试,终于找到一个比较好的方法来找原因,通过生成map文件,由于2005取消map文件生成行号信息(vc6.0下是可以生成行号信息的,不知道microsoft怎么想的,在2005上取消了),只能定位在那个函数发生崩溃。这里可以通过生成cod文件,即机器码这一文件,具体定位原创 2012-02-14 15:38:49 · 1172 阅读 · 0 评论 -
static_cast, dynamic_cast, reinterpret_cast ,const_cast区别和使用
mark原创 2014-07-31 10:59:56 · 517 阅读 · 0 评论 -
进程同步,进程锁
1. 进程同步方式原创 2014-08-15 16:44:06 · 4496 阅读 · 0 评论 -
智能指针使用
1.auto_ptr autopTest(new CTest("xiaoyu"));//autopTest->DoTest();auto_ptr autopTestYan(new CTest("xiaoyan"));//autopTestYan->DoTest();autopTest = autopTestYan;原创 2014-11-25 10:22:50 · 1519 阅读 · 1 评论 -
STL使用
1.释放vector内存 template void ClearVector( vector& vt ) { vt.clear(); vector vtTemp; vtTemp.swap(vt); }原创 2014-07-22 09:27:13 · 539 阅读 · 0 评论 -
C++ 单元测试
gtest使用原创 2015-01-16 17:09:12 · 623 阅读 · 0 评论 -
C++类基础知识总结
1. 类的大小空类大小为1 (因为需要一个占位符,否则创建对象时无法分配内存)带有虚函数的类的大小要加一个虚函数指针的大小,32位下4静态成员数据不属于类,所以类的大小不受虑静态成员数据影响原创 2014-02-13 11:28:45 · 808 阅读 · 0 评论 -
VS attach to process 到进程里无法调试
安装完python tools for visual studio2010, 安装了.net4.5,导致直接F5可以调试一个子进程, attach to process 无法调试,只需要在attach前手动选择一下调试的类型就可以了原创 2015-04-22 10:35:24 · 6269 阅读 · 0 评论 -
_vstprintf_s_l, vsnprintf 占位符崩溃
_vstprintf_s_l, vsnprintf 可以使用可变参数,在打印日志的时候很有用 va_list argsList; va_start(argsList, strFormat); TCHAR pBuffer[STRING_LENGTH] = {0}; _vstprintf_s_l(p原创 2015-04-18 19:08:57 · 8139 阅读 · 0 评论 -
AES加密 实现
分组密码有五种工作体制:1. 电码本模式(Electronic Codebook Book (ECB));2.密码分组链接模式(Cipher Block Chaining (CBC));3.计算器模式(Counter (CTR));4.密码反馈模式(Cipher FeedBack (CFB));5.输出反馈模式(Output FeedBack (OFB))原创 2015-07-11 16:06:00 · 1074 阅读 · 0 评论 -
使用openssl实现 https (TLS 和OpenSSL关系) + 浏览器https校验
openssl TLS的关系TLS(Transport Layer Security,安全传输层),TLS是建立在传输层TCP协议之上的协议,服务于应用层,它的前身是SSL(Secure Socket Layer,安全套接字层),它实现了将应用层的报文进行加密后再交由TCP进行传输的功能。在SSL更新到3.0时,IETF对SSL3.0进行了标准化,并添加了少数机制(但是几乎和SSL3.0无...原创 2015-07-06 23:07:53 · 5654 阅读 · 0 评论 -
为什么使用回调函数(回调函数实例)
简介 对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。 什么是回调函数? 简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指转载 2011-07-14 16:42:17 · 929 阅读 · 0 评论