GraphicsMagick 的 OpenCL 开发记录(二十)

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

<2022-04-11 Mon>

关于ImageMagick*_utf8系列函数

ImageMagick中拷贝过来的open_utf8()fopen_utf8()stat_utf8()remove_utf8()函数直接用非_utf8的函数代替。ImageMagickwindows下使用的是宽字符,所以有那样的处理。且可能遇到linuxwindows的文件名合法性问题,utf8的处理是必不可少的,但目前不需要

关于lt_dlclose()函数

之前将lt_dlclose()函数改成了dlclose()函数,真是多此一举。因为在windowslt_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</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值