2013-02-26 27 views
2

Ghostscript的新版本(9.07)有一个线程支持(可能是线程安全的),但它说,该代码必须用一个特殊的标志编译启用它。从哪里获得线程安全的Ghostscript编译?

我该怎么做?或者我可以在哪里构建线程安全版本?

我想下载源代码,在VS打开,但未能建立。所以也许有人已经做到了这一点,并可以共享DLL。

回答

1

你有没有兴趣Ghostscript的,或者多个渲染线程的线程安全的版本?

多个渲染线程只使用,如果你正在生产高分辨率输出,因为代码必须首先解释的PostScript程序(或PDF文件),并创建一个显示列表的渲染线程上运行。除非您渲染的分辨率相当高,否则实际上比使用页面模式要慢(整个页面在内存中渲染)

您可以使用-dNumRenderingThreads开关在预构建版本的Ghostscript中创建多个渲染线程。

如果你想的Ghostscript的一个线程安全的版本,那么你将需要能够自己编译Ghostscript的。你使用的是什么版本的Visual Studio?我正在使用Visual Studio 2005和2008,并且提供的解决方案适用于我(经过适当的转换)。

+0

我需要VS 2012一个线程安全的编译,这样我可以一次从多个线程初始化的Ghostscript的几个实例。我相信编译后的DLL可以在VS 2005/2008下运行,所以如果你可以共享它,那将会非常有用,因为我不知道如何用自定义标志正确编译C代码。 – 2013-02-26 16:07:47

+0

我没有预先设置的标志设置的DLL,你必须自己做。您可以获得VS 2010 Express的副本,它将构建提供的项目。要设置标志,只需在解决方案资源管理器中右键单击解决方案名称,从下拉菜单中选择“属性”。然后从属性页面选择C/C++,单击小箭头,出现选项,选择'Preprocessor',然后在右边窗格中显示'预处理器定义'添加THREADSAFE标志。 – KenS 2013-02-27 08:09:53

+0

不幸的是,它也无法在VS 2010中构建。 – 2013-03-05 02:19:05

0

看看Ghostscript.NET托管Ghostscript包装,它允许您同时运行多个Ghostscript库的实例,如果您有需要同时处理多个pdf。