programming in lua (9)

第 27 章,主要介绍 c 语言和 lua 交互的一些技巧。这一章涉及到第 2 部分的一些内容。

数组操作

在 lua 中,数组是一种特殊的 table,除了可以使用 lua_settable() 和 lua_gettable() 等操作 table 的函数外,另外也有一些专门用来操作数组的函数。使用这些有针对性的函数有两个好处:一是性能上的提升,例如我们经常在循环访问数组的所有元素;二是像整数数组,字符串等常见的类型使用一些有针对性的操作会比较方便。

lua 提供了两个函数来访问指定下标的数组元素:

void lua_rawgeti (lua_State *L, int index, int key);
void lua_rawseti (lua_State *L, int index, int key);

其中 index …

阅读全文…

在 debian 上使用 qt 访问 oracle 数据库

之前的一个使用 oracle 的项目自从我把数据库装好之后就没有下文了,最近迎来了另一个也需要使用 oracle 的项目。由于 oracle 不是开源的,为了能在 Linux 下使用 qt 访问,只好自己编译对应的驱动。在网上找了一堆资料,又折腾了好几天,终于在今天晚上成功了,在这里记录一下。

先说一下环境:debian 6.0,qt sdk 4.8.1,oracle 11gR2。本文主要记录的是怎样编译驱动和怎样连接,关于 oracle 数据库服务器端安装中的一些问题可以参考之前的一篇 笔记

准备工作

下载 qt sdk。因为编译的时候 qt 工具链和源代码要保持一致,而 debian 6 源里的 qt 版本是 4.6.3,官网上已经找不到对应的源码包了,所以下载 sdk 安装(sdk 包含工具链和对应版本的源码),安装的时候要注意把安装 source code 的选项勾上。这里使用 QTDIR 表示 …

阅读全文…