- 博客(34)
- 资源 (9)
- 收藏
- 关注
原创 Windows下Lua Call C的方法
1. 用VS建立如下的dll项目,代码如下:#include #include #pragma comment(lib,"lua51.lib") static intl_sin(lua_State*L){ double d = lua_tonumber(L, 1); lua_pushnumber(L,sin(d));
2016-08-13 12:04:45
551
原创 boost 与 C++11 比较
先不说boost的初始化表是多么怪异的形式了。c++11用大括号一括起来就OK了。auto 和 boost_auto 差别太大了,必须得告诉boost_auto宏一个类型,而非编译器本身的推断,不从编译器上搞突破,效率折扣大了,既然这么笨,似乎也没有用boost_auto的必要了。这么宏堆在一起,IDE就傻逼了,大段大段的红色波浪线告诉你—它的智商到头了。
2015-06-23 21:30:07
3494
1
原创 访问者模式之C++实现
// app.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include #include using namespace std;class Apple;class Book;class visitor{public
2014-08-31 13:54:15
701
原创 Bridge模式 - 《Design patterns Explained》心得
#include "createElement.h"extern"C" DLLEXPORT int MdlMain(int argc,char** argv){ DPoint3d pts[] = { {0,0,0}, {10000,0,0}, {10000,10000,0}, {0,10000,0}
2014-08-08 10:31:47
807
原创 vc 2005运行时的问题导致在客户机上不能运行
把mdl程序移植到另外一台电脑上运行,问题多多,让我始料未及,我以为在目标机器上安装了VC2005分发包:vcredist_x86.exe 就可以万事大吉了,结果牛B的微软再一次让我领教到了他的厉害...再一次被折磨. 但是我打开清单文件一看: 发现嵌入的清单文件都是version="8.0.50727.4053"这个版本,难
2014-06-07 19:28:17
743
原创 qt下的重磅插件QWT和libqxt终于搞定了
经过不眠不休的几个昼夜,QWT可以安装在qt+vs2005下,而libqxt因为编译器版本不符,死活与qtcreator适应不了。qtcreator低版本的plugins功能太弱了,高版本有抛弃了vs2005.真折磨死人了………………幸好,他们都和qt designer还算和睦。上图,炫一下:
2014-02-17 16:05:03
4472
3
原创 在mdl中的Qt消息重定位
这种重定位简直太完善了,简直是为mdl开发量身定制的。 void mdlMessageOutput (QtMsgType type, const char *msg){ switch (type) { case QtDebugMsg: mdlcout << msg << endl; break;
2013-12-07 16:58:14
1230
原创 用C++\CLI包装普通类
普通类,即不是value class 也不是ref class。是C或者C++的类。这种类必须用new创建,而不是gcnew。所以必须释放。要在cli中使用他们,得找个合适的时机释放他们。见代码:#pragma unmanagedstruct __declspec(dllexport) point{ double x, y, z; point(double xv, double
2013-10-31 15:18:45
1241
原创 STL最小值算法
如果是STL容器,最小值算法返回迭代器,如果是数组,则返回地址。下面是求的一个DPoint3d数组中距目标点最短距离的点:struct distanceCriteria : std::binary_function{ distanceCriteria(DPoint3d* targetPt):m_targetPt(*targetPt){} bool ope
2013-09-05 19:04:35
1520
原创 C++11 初始化表
虽然是给库作者用的,但对普通程序员好像也挺有用的,必将大兴于世。而且是boost里没有的东西。#include "stdafx.h"#include using namespace std;#include class listint{public: listint(const initializer_list& nums) { m_coll.reserv
2013-08-28 12:18:21
947
原创 VC2010使用BOOST的编译错误
Error 2 error LNK1123: failure during conversion to COFF: file invalid or corrupt 解决办法:Project(工程) -> Properties(属性) -> Manifest Tool(清单工具) -> Input and Output(输入及输出)-> Embed Manifes
2012-08-13 23:03:33
804
1
原创 boost的bind为何导致vc2005编译器崩溃
bind与标准库配合可以少些不少的FunctionObject。代码极易维护。但似乎某些编译器支持不好,即使是VC2005.下面这段代码是不能通过编译的: std::sort(profPointsP.begin(),profPointsP.end(), boost::bind( std::less(), boost::bind(&PointOnProfile::get
2012-07-22 13:42:27
921
原创 mdl编程心得
这个工具是我花了一个晚上写的,又化了一个晚上进行的整理和界面。感觉是最近写的比较完整而几乎没有bug的工具了。几个体会:1)思想上要成熟2)代码要有条理,易维护3)界面简单4)不写长代码,越长藏匿的垃圾和虫子越多5)STL真是个好东西呀,仅仅std::sort和std::unique和std::erase这几个函数加上自定义类型构成了核心的算法。点击打开链接
2012-06-05 04:59:59
1485
3
转载 播布客 视频教学文件下载方法
最近常上播布客看视频教学,可是有时,看了,忘记保存地址,再找,又要很长时间。而且看到,有一些并不是当时就用的,下回真用到还找不到,所以想下载了,看起来方便,也方便日后查找。下面以播布客,赶星老师的一篇openvpn为例,写下,下载方法。地址如下:http://www.boobooke.com/v/bbk3580/那么下载的时候,只要在地址的后面加video.swf即下载地址为htt
2012-03-23 22:55:14
6312
原创 mdl c++API和BOOST_AUTO&BOOST_FOREACH
C++0X已经发布啦,如果你用的是旧编译器,好多东西用不上,如typeof和auto;我用mdl C++ API还是VS2005,因为不想换别人的机子还带个10.0的运行时过去。boost中的BOOST_AUTO在旧编译器上也可以使用auto的特性.在遍历ElementAgenda的时候,才开始,可能不知道是声明一个什么变量,是EditElementHandl还是EditElement
2012-03-19 12:23:29
2428
1
原创 如何将流输出到MicroStation各个窗口
在mdl的debug的时候,输出字符串和数字,或者字符+数字,用sprintf,写一堆,而mdl中的ElementID是int ?uInt32还是?得判断好,你是不是觉得很麻烦,如果像c++的cout那样能够输出到mdl窗口就好了。下面这个模板函数可以作为一个轻量级的解决方案:typedef void(*outFuncP)(char*);templatevoid mdlDebugP
2012-03-07 06:04:57
1376
转载 Qt中设置界面风格
在main函数中QApplication::setStyle("plastique");风格可以是 "windows", "motif", "cde", "plastique", "windowsxp", or "macintosh"
2012-02-29 00:26:45
1541
原创 qmake编译dll
qmake是Qt的make工具,但不仅仅用于Qt,看用在很多方面。比如编译NativeCode的时候。mdl是靠手工编辑make文件,如果借助VC的话,要配置很多选项和配置很多输入库和头文件搜索路径等,麻烦的很。有了qmake,这一切都解决了。在mstndevvars.bat中增加一行:CALL D:/qt4.4.3/bin/qtvars.bat则当前的环境即可以调
2012-02-26 22:12:20
2375
原创 用Qt制作mdl程序启动界面
Qt的QSplashScreen是制作软件的启动时加载一张图片,启动完成,则消失。mdl开发的插件也可以在启动时候来个类似的动作。用mdl || Nativecod制作,不知要写多少,用Qt简单多了。将下面的函数到MdlMain里,就ok了。不需要QSplashScreen的finished函数了。#include "stdafx.h"#include #include #inc
2012-02-25 21:17:49
1799
1
原创 Qt的pro文件比mdl的make更简洁
TEMPLATE=libDEFINES += winNTTARGET = DEPENDPATH += . GeneratedFilesINCLUDEPATH += "d:\progra~1\bentley\micros~1\micros~1\mdl\include"LIBS += -L"d:\progra~1\bentley\micros~1\micros~1\mdl\library"
2012-02-22 23:43:40
1287
1
原创 MDL中使用真彩色图标
方法1:使用rsc资源文件制作如下的mke文件,制作成一个包含有真彩色图标的资源文件,将资源文件放到..\microstation\icons\下即可使用里面的真彩色图标,使用方法见方法2中的资源定义;rscName=ico.rscrscFile = $(baseDir)$(rscName)BUILD_USING_NoToolset = 1NO_COMPILERS_MKI
2012-02-04 22:58:54
1202
Application Development with Qt Creator.2013
2016-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人