2

有没有人设法使用类似或以下的Io插件?RegexOpenGLCygwinWindows 7 32 bit

笔记:

  • 如果它碰巧是一个ASLR问题,我想保持ASLR启用,所以我没有在关闭它的情况下进行测试。
  • MyCygwin是较新的,但不一定是前沿 ( gcc (GCC) 4.3.4 20090804 (release) 1)

完整的故事:

在我这边,我需要一些调整才能IoCygwin. 要查看我的构建过程、小补丁和最终调整以使 DLL 可用于Cygwin查看http://permalink.de/tino/iocyg

我的操作系统是Windows 7 starter 32 bit,所以ASLR启用了。这是关于在 下构建的Cygwin,而不是在 下,MinGW因为默认情况下缺少 lib,MinGW插件Regex无论如何都不会编译。pcre

在 Cygwin 下,由于以下错误,我没有设法使用类似RegexOpenGL尚未使用的一些插件(请注意,在 search 中Cygwin查找DLLs PATH,因此我必须将 lib 添加到其中,因此是env):

$ env PATH="$PATH:/usr/local/lib" io
Io 20090105
Io> Regex
==>  Regex_0xcd1788:
   [output skipped]
Io> "e" matchesRegex("." asRegex)
IoState error: missing proto 0x52128c
IoState_protoWithInitFunction() Error: missing proto

谷歌搜索这个错误我发现了一些与事实相关的帖子,Io使用函数指针作为哈希来设置proto. 此地址可能会在某种DLL情况下发生变化,因此散列会中断。但是查看代码iovm/source/IoState.c我无法理解这是否真的是问题的根源(还)。

深入研究:

Io> "a" matchesOfRegex("o") anchored
==> nil
Io> "a" matchesOfRegex(".") anchored
IoState error: missing proto 0x1983128c
IoState_protoWithInitFunction() Error: missing proto

这可以Range追溯到IoRegexMatches_searchFrom_withOptions_Regex/source/IoRegexMatches.c. 在这里,我目前被卡住了。

4

1 回答 1

1

是的,在我安装pcre之前,Regex 给了我一些问题。

使固定:

  1. 安装pcre。
  2. 重新编译 Io。
于 2011-10-17T22:32:26.987 回答