2015-07-27 10:39
⁄ 工业·编程
⁄ 共 2888字
STL跨平台调用会出现很多异常,STL使用模板生成,当我们使用模板的时候,每一个EXE,和DLL都在编译器产生了自己的代码,导致模板所使用的静态成员不同步,所以出现数据传递的各种问题,下面是详细解释。
原因分析:
一句话-----如果任何STL类使用了静态变量(无论是直接还是间接使用),那么就不要再写出跨执行单元访问它的代码。 除非你能够确定两个动态库使用的都是同样的STL实现,比如都使用VC同一版本的STL,编译选项也一样...
dll阅读全文
2015-07-26 06:42
⁄ 工业·编程
⁄ 共 5345字
在Qt5中,引入了QOpenGL*系列类,以取代Qt4时代的QGL*系列类。
下面是从Qt5例子中抠出的两种OpenGL程序模板,方便参考。
第一种写法:
#ifndef TRIANGLEWINDOW_H
#define TRIANGLEWINDOW_H
#include <QWindow>
#include <QOpenGLFunctions>
class QPainter;
class QOpenGLContext;
class QOpenGLPaintDevice;
class TriangleWindow : public QWindow,...
OpenGL, Qt阅读全文
2015-07-25 06:25
⁄ 工业·编程
⁄ 共 417字
OpenGL ES是Unity在现在的Android、ios等类似设备上用来渲染的底层库,是OpenGL的一个子集。
OpenGL ES在渲染能力、功耗设计中都考虑了移动设备的特殊性,所以现在的移动设备都是基于OpenGL ES 1.1或者2.0来渲染。
在Windows(MAC、Linux)上,Unity会根据自己跑的平台来决定用DX还是OpenGL,因为是你来做,也会想着尽量能把最好的硬件都利用上,对吧?!
所以,OpenGL ES跟Unity的关系也就很明了,Unity会根据不同的运行环境,...
OpenGL, Unity3D阅读全文
2015-07-24 06:16
⁄ 工业·编程
⁄ 共 157字
红宝书:OpenGL编程指南 第8版
蓝宝书:OpenGL超级宝典 第5版
蓝宝书以例子为主,每个章节都有大量的示例代码,适合初学者上手实验。
红宝书则书如其名,更像是手册,API大全,例子较少,大部分篇幅是在解释API的参数规格和适用情形、注意事项等等,读起来像读字典,枯燥,不适和作为课文来学习,更适合OGL熟练者查阅。
OpenGL, 书籍推荐阅读全文
2015-07-23 06:12
⁄ 工业·编程
⁄ 共 1336字
如果读者留意 OpenCV 2.3 之后的版本,那么会发现 cv::ogl namespace,ogl 自然是 OpenGL了。一个三维计算机图形库为何出现在计算机视觉中,传统的 CV 开发者是否需要学习它,这些问题待我一一来回答。
问题一:为何引入 OpenGL?
在 2.3 之前 OpenCV 的渲染部分都是由 CPU 来实现的,不论是画线还是把图片显示到屏幕上。这有两个问题,速度慢,同时没法画三维物体。引入 OpenGL 是为了借助 显卡的力量,显卡比 CPU 更擅长渲染...
OpenCV, OpenGL阅读全文
2015-07-22 22:22
⁄ 工业·编程
⁄ 共 918字
架构师,程序员,产品经理的区别,大概就是建筑行业里建筑师,建筑工人,甲方业主的区别。产品经理说我要建这么这么一栋楼,架构师说好吧,我来帮你看看是做成砖木结构还是框架结构,房型怎么设计,水电气怎么布局,预算多少,然后程序员上阵,按照图纸把楼建起来。运营是大楼的物业管理,负责营运大楼。
软件开发越来越成为传统行业(即便在互联网企业),一个成熟的软件团队内部自然会分化出这些角色,各展所长。但非常不同的...
架构师阅读全文
2015-07-21 17:53
⁄ 工业·编程
⁄ 共 4302字
说“Cannot create children for a parent that is in a different thread”,有时候又是“QSocketNotifier: socket notifiers cannot be enabled from another thread”,还经常又Assert failure:Cannot send events toobjects owned by a different thread,从而导致程序崩溃。
为彻底搞清原因并解决问题,在查阅大量资料和Qt文档之后,理清了其中的机制,也对多线程编程中的QObject对象创建以及connect执行...
Qt, 多线程编程阅读全文
2015-07-20 21:59
⁄ 工业·编程
⁄ 共 1587字
windows刚开始的时候是和unix一样没有注册表的,它的程序信息在后缀为ini的文本文件中。后来Windows引人注册表,那么为什么Windows要花如此大的力气引人注册表机制,它要解决什么问题,它比起linux的无注册表机制好在哪?
Win 之所以抛弃 ini 机制(许多程序依然在用,如 EditPad Pro 还可以在注册表和 ini 之间选择),可能是因为其文件夹的结构会导致 ini 文件们难以管理(不像 linux 都在 /etc 和 $HOME/.xxx 下)。但 Linux...
linux, windows, 注册表阅读全文
2015-07-19 10:22
⁄ 工业·编程
⁄ 共 3382字
1. 在Groovy可以用def定义无类型的变量(定义变量方面def与JavaScript中的var相似),和返回值为无类型的方法,而在Java中没有def
2. Java中的equals方法对应Groovy中的== , 而Java中的==(判断是否引用同一对象)对应Groovy中的is方法
3. Java中的数组定义int[] a = {1, 2, 3}; 在Groovy写成int[] a = [1, 2, 3]
4. Java中的for循环for (int i = 0; i < len; i++) {...} 在Groovy中还可以写成for (i in 0..len-1) {...} 或者 ...
Groovy, java, 区别阅读全文
2015-07-18 10:27
⁄ 工业·编程
⁄ 共 2714字
1、groovyShell 脚本语言运用,支持表达式及脚本文件:
def run(foo) {
println 'Hello World!'
x = 123
foo * 10
}
run foo
public class TestGroovyShell {
/**
* @param args
*/
public static void main(String[] args) {
try {
Binding binding = new Binding();
&...
Groovy, 软件开发阅读全文