Qt

Qt 5 Alpha 已经发布。我们会在后面的文章中看到 Qt 5 的新变化。今天,我们先来看一下 Qt 5 带来的一个最主要的变化:signal/slot 机制的改变。 Qt 5 之前的语法 在 Qt 5 之前,我们需要使用下面的语句来链接 signal 和 slot: Qt 实际上利用SIGNAL和SLOT这两个宏,把其后的函数名转换成一个字符串。随后,moc 将会扫描全部文件,将所有的 si ...

0 评论 2.2K 次阅读

错误处理 错误处理在基于插件的 C++ 系统中与普通系统有所不同。你不能简单的在插件中抛出异常,然后由应用程序去处理它们。这是因为我们前面讨论过的二进制兼容的问题。如果插件使用与编译系统的同样的编译器编译,这种实现还可能正常。但是,你不能强制插件开发者使用与你一样的编译器。你可以使用 C 风格的返回错误码,但是这不符合我们的 C++ 插件框架的设计理念。插件框架的主要设计目标之一就是,允许插件开发 ...

0 评论 2.2K 次阅读
樱花

清明期间拍摄的照片,分享一下~地点:南京玄武湖、南京大学和广州路~ 照片较多,加载可能会比较慢…

2 评论 2.5K 次阅读

本章节将开始讨论如何开发跨平台的 C++ 插件。 跨平台开发 C/C++ 的跨平台开发相当复杂:数据类型不同,编译器不同,操作系统 API 也不同。跨平台开发关键是封装平台差异性,让你的应用程序仅关注于业务逻辑。如果应用程序使用了与平台相关的代码,我们就需要添加很多#ifdef OS_THIS或者#ifdef OS_THAT这样的宏。这是你必须注意的。解决跨平台问题的一个最佳实践是,将平台相关代码 ...

0 评论 2.2K 次阅读

插件系统组件 本章节主要描述通用插件框架的主组件及其作用。 DynamicLibrary DynamicLibrary组件是一个简单的跨平台 C++ 类。它使用 dlopen/dlclose/dlsym 系统调用(UNIX 以及 OS X)和 LoadLibrary/FreeLibrary/GetProcAddress API 调用(Windows)。

0 评论 2.1K 次阅读

也许这个标题有点大,但是我是想利用这篇文章来强调一个事实:设计模式不是一层不变的,它需要根据具体问题、具体语言做出具体的实现。设计模式看起来是一种代码模板,但实际并不是。也许有人说,最好的设计模式就是没有模式,这句话其实也算是说到了点子上。所谓设计模式,其实就是能够让我们的代码能够更好的工作——运行起来,或者是让别的开发者更方便使用。

0 评论 2.1K 次阅读

关于我

devbean

devbean

豆子,生于山东,定居南京。毕业于山东大学软件工程专业。软件工程师,主要关注于 Qt、Angular 等界面技术。

主题 Salodad 由 PenciDesign 提供 | 静态文件存储由又拍云存储提供 | 苏ICP备13027999号-2