文章目录
<2022-04-11 Mon>
关于ImageMagick的*_utf8系列函数
从ImageMagick中拷贝过来的open_utf8(),fopen_utf8(),stat_utf8()及remove_utf8()函数直接用非_utf8的函数代替。ImageMagick在windows下使用的是宽字符,所以有那样的处理。且可能遇到linux和windows的文件名合法性问题,utf8的处理是必不可少的,但目前不需要。
关于lt_dlclose()函数
之前将lt_dlclose()函数改成了dlclose()函数,真是多此一举。因为在windows下lt_dlclose()是一个宏,它最终调用FreeLibrary()。
// ImageMagick/MagickCore/nt-base.h
#if !defined(lt_dlclose)
# define lt_dlclose(handle) NTCloseLibrary(handle)
#endif
// ImageMagick/MagickCore/nt-base.c
MagickPrivate int NTCloseLibrary(void *handle)
{
return(!(FreeLibrary((HINSTANCE) handle)));
}
在linux下使用lt_dlclose()需要添加-lltdl链接选项,发现在ImageMagick中只要使用了--enable-opencl后运行./configure就自动添加上了-lltdl,所以我想在GraphicsMagick中也要实现它。
<2022-04-12 Tue>
关于-lltdl链接选项(一)
我一直在尝试--enable-opencl时自动添加上-lltdl链接选项。我参考了ImageMagick中的configure.ac</
图像处理库ImageMagick中的UTF-8处理和-lltdl链接选项优化

本文讨论了ImageMagick中的UTF-8系列函数在不同平台上的处理,lt_dlclose()函数的实现,以及如何在使用OpenCL时自动添加-lltdl链接选项以兼容不同操作系统。作者还反思了是否需要大幅度修改GraphicsMagick的编译逻辑以满足特定需求。
最低0.47元/天 解锁文章
2428

被折叠的 条评论
为什么被折叠?



