自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (9)
  • 收藏
  • 关注

原创 Python在windows下使用dll与工程常见错误(vs调试python调用的pyd)

unindent does not match any outer level 翻译是 缩进与任何外部缩进级别都不匹配常见的问题是缩进没有对齐,可以使用notepad查看对齐情况(视图 -> 显示符号 -> 显示空格与制表符)Unresolved reference没有给变量赋值pyd后缀文件的含义:* .pyd文件是否与DLL相同?是的,.pyd文件是dll,但有一些差...

2019-04-23 19:31:44 2812 1

原创 BOOST_ASIO_HAS_STD_CHRONO在vs2015中使用问题

BOOST_ASIO_HAS_STD_CHRONO是指定boost库中使用c++11的std::chrono。在vs2013版本之后,编译的时候自定义了这个宏。

2019-04-18 12:59:57 551

原创 VS版本宏(_MSC_VER宏列表)

Abbreviation Product name [Visual Studio version] VC ++ version _MSC_VER _MSC_FULL_VER 2019 Visual Studio 2019 version 16.0.0 14.20 1920 192027508 2017 Update 9 Visual...

2019-04-18 10:18:20 1040

原创 Boost.Python教程:导入有依赖关系的动态库

1、如果导入的动态库依赖其他的动态库,只需把直接导入的动态库的后缀改为pyd,其他依赖的动态库在环境变量path里必须能够找得到。否则经常报错;ImportError: DLL load failed: 找不到指定的模块。2、ImportError: dynamic module does not define init function,错误原因一般是导出的接口有错误,dll匹配...

2019-04-17 16:48:53 1195

原创 Boost.Python教程:通用技术

下面介绍一些有用的技术,您可以在使用Boost.Python包装代码时使用这些技术。创建包Python包是一组模块,为用户提供某种功能。如果您不熟悉如何创建包,Python教程中提供了对它们的一个很好的介绍。但是我们使用Boost.Python包装C ++代码。我们如何为用户提供一个漂亮的包界面?为了更好地解释一些概念,让我们使用一个例子。我们有一个有不同含义的C ++库:...

2019-04-15 19:03:18 480 2

原创 Boost.Python教程:异常传输

必须在Python代码的边界捕获所有C ++异常。这个边界是C ++遇到Python的地方。Boost.Python提供了一个默认的异常处理程序,用于转换选定的标准异常,然后放弃:raise RuntimeError, 'unidentifiable C++ Exception'用户可以提供自定义翻译。这是一个例子:struct PodBayDoorExcept...

2019-04-15 17:46:01 724

原创 Boost.Python教程:迭代器

在C ++中,特别是STL,我们在任何地方都看到了迭代器。Python也有迭代器,但这是两个非常不同的令人讨厌的东西。C ++迭代器:C ++有5种类型(随机访问,双向,转发,输入,输出) 有两种操作类别:重新定位,访问 需要一对迭代器来表示(第一个/最后一个)范围。Python迭代器:1类(前进) 1个操作类别(next()) 最后引发StopIteration异常典型...

2019-04-15 17:43:25 287

原创 Boost.Python教程:嵌入,从c/c++中调用python代码

使用解释器到现在为止,您应该知道如何使用Boost.Python从Python调用C ++代码。但是,有时您可能需要反过来:从C ++端调用Python代码。这需要您将Python解释器嵌入到C ++程序中。目前,Boost.Python并不直接支持嵌入时您需要的所有内容。因此,您需要使用Python / C API填补空白。但是,Boost.Python已经使嵌入变得更加容易,...

2019-04-15 17:27:08 2806

原创 Boost.Python教程:对象接口

Python是动态类型的,与静态类型的C ++不同。Python变量可以包含整数,浮点数,列表,字典,元组,str,long等等。从Boost.Python和C ++的角度来看,这些Pythonic变量只是类object实例。我们将在本章中看到如何处理Python对象。如前所述,Boost.Python的目标之一是在保持Python感觉的同时提供C ++和Python之间的双向映射。B...

2019-04-15 17:16:28 4408

原创 Boost.Python教程:默认参数

Boost.Python包装(成员)函数指针。不幸的是,C ++函数指针没有默认参数信息。使用默认参数获取函数f:int f(int,double = 3.14,char const * =“hello”);但是指向函数f的指针类型没有关于其默认参数的信息:int(*g)(int,double,char const*) = f; // 默认值丢失当我们将此函数指针传递给d...

2019-04-12 11:24:41 1329

原创 Boost.Python教程:重载

以下说明了手动包装重载成员函数的方案。当然,相同的技术可以应用于包装重载的非成员函数。我们这里有我们的C ++类:struct X{ bool f(int a) { return true; } bool f(int a, double b) { return true; } bool f(in...

2019-04-12 11:09:50 560

原创 Boost.Python教程:函数

在本章中,我们将更详细地介绍Boost.Python驱动的函数。我们将看到一些工具,可以将C ++函数暴露给Python,避免潜在的pifall,例如悬空指针和引用。我们还将看到一些工具,使我们更容易公开利用C ++特性(如重载和默认参数)的C ++函数。继续阅读......但在此之前,您可能想要启动Python 2.2或更高版本并键入 >>> import th...

2019-04-12 11:07:37 569

原创 Boost.Python教程:类操作符/特殊功能

Python运算符C以丰富的操作符而闻名。 C ++通过允许运算符重载将其扩展到极限。 Boost.Python利用了这一点,并且可以很容易地包装C ++运算符驱动的类。考虑文件位置类FilePos和一组采用FilePos实例的运算符:class FilePos { /*...*/ };FilePos operator+(FilePos, int);FilePos ...

2019-04-12 10:38:37 346

原创 Boost.Python教程:类的虚函数的默认实现

我们在上一节中已经看到了如何使用Boost.Python的类包装器工具包装具有纯虚函数的类。如果我们希望改为包装非纯虚函数,那么机制就有点不同了。回想一下,在上一节中,我们用一个纯虚函数包装了一个类,然后用C ++实现它,或者从它派生的Python类。我们的基类:struct Base{ virtual int f() = 0;};有一个纯虚函数f。但是,如果其成员函...

2019-04-12 10:29:25 738

原创 Boost.Python教程:类的虚函数

在本节中,我们将学习如何通过虚函数使函数表现为多态。继续我们的示例,让我们向Base类添加一个虚函数:struct Base{ virtual ~Base() {} virtual int f() = 0;};Boost的目标之一。Python对现有的C ++设计的干扰最小。原则上,应该可以在不更改第三方库的情况下公开第三方库的接口。在我们的Base类中添加任何东...

2019-04-12 10:25:47 1093

原创 Boost.Python教程:类的继承

在前面的示例中,我们处理的是非多态的类。通常情况并非如此。大多数时候,我们将包含通过继承相关的多态类和类层次结构。我们经常需要为从抽象基类派生的类编写Boost.Python包装器。考虑这个简单的继承结构:struct Base { virtual ~Base(); };struct Derived : Base {};及在Base和Derived对象实例上运行的一组C ++函数:...

2019-04-10 16:02:18 691

原创 Boost.Python教程:暴露类的属性

在C ++中,具有公共数据成员的类通常不受欢迎。设计良好的类利用封装隐藏了类的数据成员。访问类数据的唯一方法是通过访问(getter / setter)函数。访问函数公开类属性。这是一个例子:struct Num{ Num(); float get() const; void set(float value); ...};但是,在Python中,属性访...

2019-04-10 15:36:10 948

原创 Boost.Python教程:暴露类的数据成员

数据成员也可以暴露给Python,以便可以将它们作为相应Python类的属性进行访问。我们希望公开的每个数据成员可以被视为只读或读写。考虑这个类Var:struct Var{ Var(std::string name) : name(name), value() {} std::string const name; float value;};我们的C ++...

2019-04-10 15:27:03 437

原创 Boost.Python教程:暴露类的构造

我们之前的示例没有任何显式构造函数。由于World被声明为普通结构,因此它具有隐式默认构造函数。 Boost.Python默认公开默认构造函数,这就是我们能够编写的原因>>> planet = hello.World()我们可能希望用非默认构造函数包装一个类。让我们以前面的例子为基础:struct World{ World(std::string m...

2019-04-10 15:13:21 700

原创 Boost.Python教程:暴露类

现在让我们向Python暴露一个C ++类。考虑我们要向Python暴露的C ++类/结构:struct World{ void set(std::string msg) { this->msg = msg; } std::string greet() { return msg; } std::string msg;};我们可以通过编写相应的Boo...

2019-04-10 14:34:01 447

原创 BOOST_PP_CAT 宏

Boost _ pp _ cat 宏将其参数连接在展开后。使用BOOST _ PP _ CAT(a、b))参数a连接的左操作数。B连接的右操作数。备注预处理器的 token-pasting 操作符(##) 会阻止参数进行展开。本宏则允许其参数在连接之前先进行展开。连接的结果不可以引起对一个使用了BOOST_PP_CAT的宏的调用。如果发生,则BOOS...

2019-04-09 09:33:16 1019

翻译 使用Windows标头

Windows API的头文件使您可以创建32位和64位应用程序。它们包括API的Unicode和ANSI版本的声明。有关更多信息,请参阅Windows API中的Unicode。它们使用的数据类型使您能够从单个源代码库构建应用程序的32位和64位版本。有关更多信息,请参阅为64位Windows做好准备。其他功能包括标题注释和STRICT类型检查。Visual C ++和Win...

2019-04-08 15:27:10 237

原创 CreateFileMapping函数

为指定文件创建或打开命名或未命名的文件映射对象。要为物理内存指定NUMA节点,请参阅CreateFileMappingNuma。语法HANDLE WINAPI CreateFileMapping(_In_ HANDLE hFile,_In_opt_ LPSECURITY_ATTRIBUTES lpAttributes,_In_ DWORD flProtect,...

2019-04-04 17:59:50 6675

原创 CreateSemaphore函数

创建或打开命名或未命名的信号量对象。要指定对象的访问掩码,请使用CreateSemaphoreEx函数。语法HANDLE WINAPI CreateSemaphore(_In_opt_ LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,_In_ LONG lInitialCount,_In_ LONG lMaximumCount...

2019-04-04 16:33:17 16950

原创 安装服务

服务配置程序使用CreateService函数在SCM数据库中安装服务。以下示例中的SvcInstall函数显示了如何从服务程序本身安装服务。有关完整示例,请参阅Svc.cpp。//// Purpose: // Installs a service in the SCM database//// Parameters:// None// // Return valu...

2019-04-04 14:07:40 666

原创 StartServiceCtrlDispatcher函数

将服务进程的主线程连接到服务控制管理器,这使得线程成为调用进程的服务控制调度程序线程。语法BOOL WINAPI StartServiceCtrlDispatcher(_In_ const SERVICE_TABLE_ENTRY * lpServiceTable);参数lpServiceTable [in]指向SERVICE_TABLE_ENTRY结构数组...

2019-04-04 13:57:25 8241 4

原创 Windows服务的ServiceMain函数

当服务控制程序请求运行新服务时,服务控制管理器(SCM)启动服务并向控制调度程序发送启动请求。控制调度程序创建一个新线程来执行服务的ServiceMain功能。有关示例,请参阅编写ServiceMain函数。ServiceMain函数应执行以下任务:1、初始化所有全局变量。2、立即调用RegisterServiceCtrlHandler函数以注册Handler函数来处理服务的控制请求。 R...

2019-04-04 11:48:00 3255

原创 Windows服务入口点

服务通常写为控制台应用程序。控制台应用程序的入口点是它的主要功能。 main函数从服务的注册表项中的ImagePath值接收参数。有关更多信息,请参阅CreateService函数的“备注”部分。当SCM启动服务程序时,它等待它调用StartServiceCtrlDispatcher函数。请遵循以下准则。SERVICE_WIN32_OWN_PROCESS类型的服务应立即从其主线程调用Sta...

2019-04-04 11:42:41 434 2

原创 信号和插槽 Qt 5.8.0

Qt 5.8Qt参考文档内容介绍信号和插槽信号老虎机一个小例子一个真实的例子信号和插槽与默认参数高级信号和插槽使用使用Qt与第三方信号和插槽信号和插槽信号和槽用于对象之间的通信。信号和插槽机制是Qt的核心功能,可能是与其他框架提供的功能最不同的部分。 Qt的元对象系统使信号和插槽成为可能。介绍在GUI编程中,当我们更改一个小部件时,我们经常需要通知另一个小部件。更一般...

2019-04-03 15:13:50 1051

原创 QComboBox 简介

详细说明QComboBox小部件是一个组合按钮和弹出列表。QComboBox提供了一种以占用最少屏幕空间的方式向用户显示选项列表的方法。组合框是一个显示当前项目的选择小部件,可以弹出可选项目列表。组合框可以是可编辑的,允许用户修改列表中的每个项目。组合框可以包含像素图和字符串; insertItem()和setItemText()函数适当重载。对于可编辑的组合框,提供了clearEditT...

2019-04-03 11:09:50 4960 1

原创 Connext DDS实体的GUID构成

什么是GUID?在RTI Connext DDS部署中,每个实体 - 本地或远程 - 都可以通过其GUID进行单一标识,GUID是全球唯一标识符的首字母缩写。这样应用程序可以使用标识来忽略某些实体,识别发布某个样本的人员,或者检测哪个实体已更改其状态。在RTI Connext中,GUID实现为128位值(16个八位字节),并且可以以不同方式访问它。访问本地RTI Connex...

2019-04-02 19:39:53 1029 1

原创 服务的ServiceMain函数

当服务控制程序请求运行新服务时,服务控制管理器(SCM)启动服务并向控制调度程序发送启动请求。控制调度程序创建一个新线程来执行服务的ServiceMain功能。ServiceMain函数应执行以下任务: 初始化所有全局变量。 立即调用RegisterServiceCtrlHandler函数以注册Handler函数来处理服务的控制请求。RegisterServiceCtrlHa...

2019-04-01 17:31:51 3527 1

新版理解和使用oracle 8i分析工具logminer.doc

新版理解和使用oracle 8i分析工具logminer.doc

2021-12-10

Vitual studio 2017离线版本

VS2017离线版本

2021-10-26

win7系统安装高版本VS补丁.rar

win7系统缺少补丁文件KB4490628、KB4474419

2021-03-17

rocketmq-client-cpp.rar

rocketMQ的C++客户端编译:vs2015.依赖库没有上传,需要请留言 依赖boost、libevent、jsoncpp

2020-01-13

安装服务的示例代码

以下是完整的服务示例。 将此代码用作模板时,只需将代码添加到TO_DO开头的部分即可。 构建示例时,请务必与Kernel32.lib和Advapi32.lib链接。 构建仅资源DLL Sample.dll时会生成Sample.h文件。

2019-04-04

Lua学习入门

Lua入门级测试实例。适合刚刚入门的小伙伴学习,。。。

2018-02-05

简单的Qt画图Demo

就是用Qt做的一个简单的demo,实现画图功能,右边是一个简单的画图画板

2017-07-16

CORBA规范文档

CORBA的官方文档第一部分

2017-04-04

TAO的一个小hello

TAO的一个小hello例子,使用orb

2015-07-29

空空如也

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

TA关注的人

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