C++
晨晨05
这个作者很懒,什么都没留下…
展开
-
linux平台 加载动态库dlsym返回null
linux平台 加载动态库dlsym返回null原创 2022-05-14 13:00:02 · 1907 阅读 · 0 评论 -
以追加方式合并两个dat文件
QFile newfile(m_filename); for (QString filename : filelist) { QFile file(filename); qint32 filesize = file.size();//文件字节数 if (file.open(QIODevice::ReadOnly)) { char * s = NULL; int len = filesize; s = (char *)malloc(filesize + 1); mems.原创 2020-11-11 14:17:12 · 2166 阅读 · 0 评论 -
简单动态库以及调用动态库例子
动态库的写法,以前没有写过动态库,凭第六感觉应该很简单。but,我却在网上找资料时,没有一个例子是我想要的,简单又能说明问题。以至于耗费了大量的时间。以下例子是用C语言编写,编译环境为vs2015。//---------------------------------------------------------------------------------------------------...原创 2018-05-16 16:19:52 · 879 阅读 · 0 评论 -
Dependency Walker查看PE依赖、查看DLL函数
Dependency Walker查看PE依赖、查看DLL函数........................................................................... Dependency Walker V2.2.6000.0 绿色版(DLL依赖性分析工具)http://www.xiazaiba.com/html/5730.html..........转载 2018-01-17 19:02:13 · 5169 阅读 · 0 评论 -
VS2010 增量编译
vs2010 增量编译,解决编译缓慢 标签:编辑删除第一因时间引起的: 首先,在debug模式下,删除功能debug目录所有的文件。 然后依次找到: 项目-属性-配置属性-C/C++-代码生成-启用最小重新生成:Yes(/Gm) 项目-属性-配置属性-C/C++-常规-调试信息格式:程序转载 2018-01-13 15:20:07 · 599 阅读 · 0 评论 -
extern "C" _declspec(dllexport) _declspec(dllimport)
原文:extern "C" __declspec(dllexport) __declspec(dllimport) 和 def 前面的extern "C" __declspec(dllexport) __declspec(dllimport)都是用于函数或者变量,甚至类的声明的(可以把extern "C"放在class的前面,但是编译器会忽略掉,最后产生的还是C++修饰符,而不是C转载 2018-01-13 14:59:34 · 2611 阅读 · 0 评论 -
动态链接库dll的 静态加载 与 动态加载
动态链接库dll的 静态加载 与 动态加载 dll 两种链接方式 : 动态链接和静态链接(链接亦称加载)动态链接是指在生成可执行文件时不将所有程序用到的函数链接到一个文件,因为有许多函数在操作系统带的dll文件中,当程序运行时直接从操作系统中找。 而 静态链接就是把所有用到的函数全部链接到exe文件中。 动态链接是只建立一个引用的接口,而真正的代转载 2018-01-13 14:48:08 · 506 阅读 · 0 评论 -
浅谈 qmake 之 pro、pri、prf、prl文件
http://blog.csdn.net/dbzhang800/article/details/6348432转载 2018-01-12 14:13:06 · 360 阅读 · 0 评论 -
vs里32位项目和64位项目的区别
vs里32位项目和64位项目的区别由于操作系统内存分配的不同,导致软件开发过程中,需要编译不同版本的软件。 1。编译程序根据需要选择不同的编译环境。 x86和win32为32位程序,x64为64位程序,可以选择不同的编译条件形成不同位的软件。 2。代码中的基本数据类型,会根据操作系统的位数来分类内存大小。 如int型在32位操作系统下为4字节,在64位系转载 2018-01-12 13:20:42 · 1827 阅读 · 0 评论 -
error LNK1112: 模块计算机类型“X64”与目标计算机类型“x86”冲突
环境:win10 64 VS2015运行环境时出现如下错误 : “error LNK1112: 模块计算机类型“X64”与目标计算机类型“x86”冲突”;解决方法: 1、右击该项目,选择属性,在最上面点击 “配置管理器”,新建平台 “x64”,然后把 活动解决方案平台选为X64,点击关闭。 2、在属性页选择 “链接器” —>“高级”,在里边有一项名为目标计算机,将其改为:M原创 2018-01-12 10:43:52 · 6908 阅读 · 0 评论 -
获取当前时间
在windows下和在linux下获取当前时间static void get_current_time(char *str){#ifdef _WIN32SYSTEMTIME st;GetLocalTime(&st);//GetSystemTimesprintf(str,"%04d-%02d-%02d %02d:%02d:%02d.%03d",st.wYe原创 2017-12-19 10:11:42 · 251 阅读 · 0 评论 -
pthread_create未定义
对pthread_create未定义的引用今天写一个线程的程序,已经在c文件中包含了线程的头文件,可是编译的时候却报错“对pthread_create未定义的引用“,原来时因为pthread库不是Linux系统默认的库,连接时需要使用库libpthread.a,所以在使用pthread_create创建线程时,在编译中要加-lpthread参数:gcc createThread.c -转载 2017-12-01 09:50:55 · 461 阅读 · 0 评论 -
signal() 函数详解
signal() 函数详解 转载signal()函数详解:在 这个头文件中。signal(参数1,参数2);参数1:我们要进行处理的信号。系统的信号我们可以再终端键入 kill -l查看(共64个)。其实这些信号时系统定义的宏。参数2:我们处理的方式(是系统默认还是忽略还是捕获)。一般有3中方式进行操作。(1)eg: sign转载 2017-11-20 10:06:33 · 44889 阅读 · 7 评论 -
C++ 线程
在cocos2dx 2.0时代,我们使用的是pthread库,是一套用户级线程库,被广泛地使用在跨平台应用上。但在cocos2dx 3.0中并未发现有pthread的支持文件,原来c++11中已经拥有了一个更好用的用于线程操作的类std::thread。cocos2dx 3.0的版本默认是在vs2012版本,支持c++11的新特性,使用std::thread来创建线程简直方便。下面介绍下s转载 2017-11-13 10:04:46 · 206 阅读 · 0 评论 -
编译程序时链接错误
以前从未看过编译链接过程,最近编译一c++程序时报错,错误如下图所示为链接错误。类似undefined reference to "pthread_mutexattr_init"为链接错误。链接时找不到pthread......原创 2018-08-11 15:57:46 · 2184 阅读 · 0 评论 -
32位机与64位机的区别,链接
https://blog.csdn.net/yanyumin52/article/details/80910267原创 2019-02-25 15:19:45 · 906 阅读 · 0 评论 -
C++调用lua函数(返回值)
C++ 程序:int main(){ lua_State *L = luaL_newstate(); if (L == NULL) { return 1; } luaL_openlibs(L); int ret = luaL_dofile(L, "main.lua"); printf("top = %d \n", lua_gettop(L)); lua_getg...原创 2019-08-31 13:58:17 · 2139 阅读 · 0 评论 -
C++调用lua函数(带参)
C++程序void main(){ lua_State *L = luaL_newstate(); if (L == NULL) { return 1; } luaL_openlibs(L); int ret = luaL_dofile(L, "main.lua"); printf("top = %d \n", lua_gettop(L)); lua_getgl...原创 2019-08-31 13:56:18 · 582 阅读 · 0 评论 -
C++调用lua函数(无参 无返回值 无错误)
C++程序:void main(){ lua_State *L = luaL_newstate(); if (L == NULL) { return 1; } luaL_openlibs(L); int ret = luaL_dofile(L, "main.lua"); lua_getglobal(L,"event");//获取函数名 lua_pcall(L,...原创 2019-08-31 13:47:59 · 896 阅读 · 0 评论 -
C++给lua传递表
C++程序:int main(){ lua_State *L = luaL_newstate(); if (L == NULL) { return 1; } luaL_openlibs(L); //向lua传递表 lua_newtable(L);//创建一个表 lua_pushstring(L, "name");//压入key lua_pushstring(L, "...原创 2019-08-31 10:52:42 · 825 阅读 · 0 评论 -
C++调用lua的表
C++程序:void main(){ lua_State *L = luaL_newstate(); if (L == NULL) { return 1; } luaL_openlibs(L); lua_pushstring(L, "hello"); lua_setglobal(L, "test"); int ret = luaL_dofile(L, "ma...原创 2019-08-31 10:36:21 · 343 阅读 · 0 评论 -
C++向lua传递全局变量
lua_pushstring(L,"c name value");lua_setglobal(L,"c name");//将栈顶位置设置全局变量并出栈例子:C++程序int main(){ lua_State *L = luaL_newstate(); if (L == NULL) { return 1; } luaL_openlibs(L); lua_...原创 2019-08-31 10:14:31 · 565 阅读 · 0 评论 -
C++ 调用lua时 dofile,loadfile以及require
C++ 调用lua时 dofile,loadfile以及require函数 运行机制 返回结果 出现错误 dofile 加载并运行 返回运行的结果 传递给调用者 loadfile 加载,不运行; 想运行得用lua_pcall配合使用 返回编译的结果 l会返回一个错误信息,但不传递给调用者 requi...原创 2019-08-31 09:41:57 · 2008 阅读 · 0 评论 -
C++调用Lua
刚开始学习C++调用Lua 是获取lua脚本中的全局变量,却怎么也调用不到,找了半天原因终于找到,如下所示加粗标红的部分lua_State *L = luaL_newstate(); if (L == NULL) { return 1; } luaL_openlibs(L); //lua_register(L,"TestPush", Te...原创 2019-08-12 15:23:16 · 394 阅读 · 0 评论 -
Linux C使用bool类型 出现错误expected '=', ',', ';', 'asm' or '__attribute__'
今天在linux下编了一个C程序,用到了bool类型,在编译的程序的时候出现以下错误://error: expected '=', ',', ';', 'asm' or '__attribute__'查找了半天,发现要包含stdbool.h头文件,原因如下:在C99中,可以直接使用_Bool表示布尔类型(而我使用的是bool),但不可以直接使用false和true,要自己定义,例如:#...转载 2019-04-12 15:53:25 · 1347 阅读 · 0 评论 -
C++程序中启动线程的方法
C++11 引入一个全新的线程库,包含启动和管理线程的工具,提供了同步(互斥、锁和原子变量)的方法,我将试图为你介绍这个全新的线程库。如果你要编译本文中的代码,你至少需要一个支持 C++11 的编译器,我使用的是 GCC 4.6.1,需要使用 -c++0x 或者 -c++11 参数来启用 C++11 的支持。启动线程在 C++11 中启动一个线程是非常简单的,你可以使用 std:thr转载 2017-11-13 09:33:43 · 14166 阅读 · 0 评论 -
linux,windows keepalive参数的查看与设置
------------------------------------------------------------------------------------------------------Linux下使用TCP的keepalivetcp_keepalive_time 一个连接需要TCP开始发送keepalive探测数据包之前的空闲时间。以秒为单位转载 2017-11-09 16:15:04 · 13807 阅读 · 0 评论 -
解决This function or variable may be unsafe
1>------ Build started: Project: Windows 编程, Configuration: Debug Win32 ------1> Source.cpp1>d:\personal\documents\visual studio 2013\projects\windows 编程\windows 编程\source.cpp(42): error C499转载 2017-11-09 11:38:58 · 296 阅读 · 0 评论 -
数组形参
<span style="font-size:22.0pt;font-family:宋体;mso-ascii-theme-font:major-fareast;mso-fareast-theme-font:major-fareast;mso-hansi-theme-font:major-fareast;" >数组形参<span lang="EN-US" style="font-siz原创 2016-01-08 10:01:18 · 270 阅读 · 0 评论 -
string有关函数
<span lang="EN-US" style="font-size:22.0pt;font-family:宋体;mso-ascii-theme-font:major-fareast;mso-fareast-theme-font:major-fareast;mso-hansi-theme-font:major-fareast;" >string有关函数<span lang="EN-原创 2016-01-08 10:00:28 · 344 阅读 · 0 评论 -
使用类的好处
结构清晰,易于维护。面向对象将类中的信息进行封装,即将属性等和函数绑在一起。调用时很容易知道函数来自于哪个类。写类的好处即时使用面向对象的好处:使用面向对象思想进行开发有以下优点:1、易维护采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。2、质量高在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业原创 2016-01-08 10:00:25 · 4880 阅读 · 0 评论 -
typedef struct,自定义数据类型struct和类的区别
typedef struct,自定义数据类型struct和类的区别引用大牛的typedef struct和struct区别:自定义数据结构类型:struct 类名{类体};C语言中的结构体:typedef struct 名字{结构体体}别名;标注的是类型,类似于int等类型。区别: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用type原创 2016-01-08 10:00:22 · 5401 阅读 · 0 评论 -
cin和cout返回值问题
<span lang="EN-US" style="font-size:22.0pt;font-family:宋体;mso-ascii-theme-font:major-fareast;mso-fareast-theme-font:major-fareast;mso-hansi-theme-font:major-fareast;" >cin<span style="font-size:2原创 2016-01-08 10:00:17 · 2499 阅读 · 0 评论 -
直接初始化和拷贝初始化
直接初始化和拷贝初始化---雨竹清风初始化分为直接初始化和拷贝初始化。若使用等号那么使用的是拷贝初始化,否则使用的是直接初始化。当初始值只有一个时,拷贝初始化和直接初始化没有什么区别。若值有多个,我们一般采用的是直接初始化。拷贝初始化:调用拷贝构造函数,产生一个临时对象,将其值再拷贝过来。直接初始化:调用的是构造函数。例子:?strings = “string”;//拷贝原创 2016-01-08 10:00:12 · 774 阅读 · 0 评论 -
预处理器
<span style="font-size:22.0pt;font-family:宋体;mso-ascii-theme-font:major-fareast;mso-fareast-theme-font:major-fareast;mso-hansi-theme-font:major-fareast;" >预处理器<span lang="EN-US" style="font-siz原创 2016-01-08 10:00:02 · 271 阅读 · 0 评论 -
C++自定义类中使用string变量问题
今天,写了一个自定义类,与C中的结构体类似。struct 类名{类体}; 自定义类的后面必须加;否则会报错。在自定义类中,定义了一个string类型的变量。如下所示:struct Sale_data{string ISBN;//书号unsigned units_sold;//销售数量double revenue;//总价格}; 将此结构放在一个头文件中,并在main函数中去调用,结原创 2016-01-08 09:59:56 · 4844 阅读 · 0 评论 -
auto类型说明符
<span lang="EN-US" style="font-size:22.0pt;font-family:宋体;mso-ascii-theme-font:major-fareast;mso-fareast-theme-font:major-fareast;mso-hansi-theme-font:major-fareast;" >auto<span style="font-size:原创 2016-01-08 09:59:54 · 432 阅读 · 0 评论 -
指向常量的指针和常量指针
<span style="font-size:18.0pt;font-family:宋体;mso-ascii-theme-font:major-fareast;mso-fareast-theme-font:major-fareast;mso-hansi-theme-font:major-fareast;" >指向常量的指针和常量指针<span lang="EN-US" style="原创 2016-01-08 09:59:51 · 288 阅读 · 0 评论 -
struct和typedef struct
转载于http://www.cnblogs.com/qyaizs/articles/2039101.htmlstruct和typedef struct分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:S原创 2016-01-08 09:59:41 · 249 阅读 · 0 评论 -
桶排序总结
桶排序总结------雨竹风清桶排序的思想是将区间[0,1)分成10组,每一组叫做一个桶。桶中存放的是最高位相同的数据。例如:123,145存放到1号桶中。每个桶中进行排序。再将结果按桶的顺序输出即可。例如:数据为0.78 0.17 0.39 0.26 0.72 0.94 0.21 0.12 0.23 0.68桶的示意图如下: 实现桶排序的数据结构:由原创 2016-01-08 09:59:35 · 390 阅读 · 0 评论