这次讲讲,如何扩展c++库。通过boost.python把c++库编译成python能够调用的dll。通过上一次的教程后,大家都应该会使用boost.python了。把c++程序编译成pyd文件。由于c++有很多特性,所以,如果你的程序用了很多的c++特性的话,那么你必须做很多工作了。像虚拟函数,函数重载,继承,默认值等等。具体如何转化,请参boost.python的文档了。这几天尝试着把c+            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-20 11:32:19
                            
                                49阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言上一篇研究了通过Python的内置库ctypes实现与C库的交互。详情参考python与C库交互。但是这种方法存在一个问题就是C的类型转换必须手动去映射            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-05-09 23:50:45
                            
                                2437阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            class X {        version(Windows) {            pragma(mangle, X.call.mangleof.replace("QBV","PBV"))            final void call(const(Y)) const;        } else {            final void call(const(Y)...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-02-26 10:26:42
                            
                                134阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            阅读本篇文章之前,请先阅读 lua入门级这篇文章,了解C++与lua之间是通过栈来交换数据的;下面介绍几个后面会用到的函数:C语言向栈写入或读取函数:lua_push**(L,value); //**表示数据类型 一般为nil number string ……lua_to**(L,index) //...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-09-14 11:31:18
                            
                                275阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            class X {        version(Windows) {            pragma(mangle, X.call.mangleof.replace("QBV","PBV"))            final void call(const(Y)) const;        } else {            final void call(const(Y)...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-20 09:47:12
                            
                                123阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                 QT5发布,最大的变化就是qml版本的升级,扩展了大量的方法,可见QT官方对qml的重视. q            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-12-15 14:09:20
                            
                                308阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、Lua和C++交互1、lua和c++交互机制是基于一个虚拟栈,C++和lua之间的所有数据交互都通过这个虚拟栈来完成,无论何时C++想从lua中调用一个值,被请求的值将会被压入栈,C++想要传递一个值给Lua,首选将整个值压栈,然后就可以在Lua中调用。 2、lua中提供正向和反向索引,区别在于证书永远是栈底,负数永远是栈顶。在这里插入图片描述2、基础练习编译指令:g++ test.cpp -            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                            精选
                                                        
                            2024-09-06 10:07:21
                            
                                209阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            python作为一门脚本语言,其好处是语法简单,很多东西都已经封装好了,直接拿过来用就行,所以实现同样一个功能,用Python写要比用C/C++代码量会少得多。但是优点也必然也伴随着缺点(这是肯定的,不然还要其他语言干嘛),python最被人诟病的一个地方可能就是其运行速度了。这这是大部分脚本语言共同面对的问题,因为没有编译过程,直接逐行执行,所以要慢了一大截。所以在一些对速度要求很高的场合,一般            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2017-05-09 10:04:44
                            
                                2290阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            C和C++被公认为(理当如此)创建高性能代码的首选平台。对开发人员的一个常见要求是向脚本语言接口公开C/C++代码,这正是 Simplified Wrapper and Interface Generator (SWIG) 的用武之地。SWIG 允许您向广泛的脚本语言公开C/C++代码,包括 Rub...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-21 00:21:48
                            
                                137阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            #include <stdio.h> #include <stdlib.h> #include <string.h> #define Export __attribute__((visibility("default"))) __attribute__((used)) extern "C" { st ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-26 18:17:00
                            
                                874阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            最近在编写Warensoft3D游戏引擎,并预计明年年初发布测试版本,底层引擎使用DirectX和MONO来编写,上层的逻辑使用C#来编写,因此编写了大量C#与C++互调的代码,现在经验写出来与大家分享,并希望后来者少走弯路。 C#与C++交互,总体来说可以有两种方法: 利用C++/CLI作为代理中 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-09-02 19:56:00
                            
                                605阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            最近在编写Warensoft3D游戏引擎,并预计明年年初发布测试版本,底层引擎使用DirectX和MONO来编写,上层的逻辑使用C#来编写,因此编写了大量C#与C++互调的代码,现在经验写出来与大家分享,并希望后来者少走弯路。C#与C++交互,总体来说可以有两种方法:利用C++/CLI作为代理中间层...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2014-12-05 17:26:00
                            
                                182阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            最近在编写Warensoft3D游戏引擎,并预计明年年初发布测试版本,底层引擎使用DirectX和MONO来编写,上层的逻辑使用C#来编写,因此编写了大量C#与C++互调的代码,现在经验写出来与大家分享,并希望后来者少走弯路。C#与C++交互,总体来说可以有两种方法:
利用C++/CLI作为代理中间层利用PInvoke实现直接调用
第一种方法:实现起来比较简单直观,并且可以实现C#调用C++所写的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-03-23 14:26:00
                            
                                515阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            转自:://m.blog..net/blog/qweewqpkn/39932499一.c++调用uc脚本中的函数举例:1.在脚本MenuManager.uc文件中实现函数:event LoadFrontend(){ ..............}这个脚本对应的c++文件为:Menu...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2015-05-04 20:58:00
                            
                                155阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            现在,我们一起探索一下如何将lua寄宿到C++中。宿主的实现我们在LuaWithCPPTest项目下,查看Source.cpp代码如下:#include #include #include using namespace std;extern "C"{ #include #includ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2015-01-27 14:39:00
                            
                                186阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            工作中遇到了Lua与C++交互的需求,发现有很多之前遗漏的知识点,现一一补上。由于是下班时间写的,代码例子没有贴,有时间再加上目            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-04-15 15:05:12
                            
                                392阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            要将C++中的对象类型映射到Lua中,就不得不要先了解Lua面向对象的机制。在这里,我们先看一下Lua面向对象的实现基础——metatable,再以此实现C++对象到Lua的映射。Lua面向对象不得不先提一下Lua的几种函数写法,普通函数有两种写法:如果要将一个普通函数赋给一个表,有如下写法:如果函...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2015-01-27 14:46:00
                            
                                144阅读
                            
                                                                                    
                                2评论