注册 登录
编程论坛 VFP论坛

搞笑了,一个狠古老的算法库,为绝对支持XP和VFP,当时毅然选择用VC6.0编译……

cssnet 发布于 2023-01-15 15:57, 976 次点击
后来的故事,相信咱们都知道啦:
VC6.0编译的DLL,似乎无法在Windows 10下正常运行。一调用,即出错!
微软对待Visual Studio 6.0的亲儿子VC 6.0,似乎比对待继子VFP 6.0,更狠,更无情!
好歹VFP 6.0过了十几年后,还有可能正常运行一下子。

那些都是题外话。

话说,VC 6.0的标准库ctype中,没有isblank(),而我的算法库,最新修订时,却用到了这个函数。
怎么办?我搜了半天,才搞清楚,isblank()是在C99标准中新增的。
于是又傻乎乎找C99标准库的源代码,看能否将它添加到自己的算法库当中。
下载了glibc-2.36.tar.xz,解压缩一看,TNND,高人行事,神秘莫测!
isblank()竟然是个宏,而且一宏套一宏,一宏套一宏,左兜右转,那源代码异常晦涩,几乎完全看不懂!
正一筹莫展之际,突然看到一个帖子,不觉哑然,笑成了死猪叫:

//---------------
int isblank(int c)
{
if((c == ' ') || (c == '\t')) return 1;
else return 0;
}
//---------------

看来,一根筋的老家伙,容易将简单问题想复杂化了。

4 回复
#2
cssnet2023-01-15 16:21
而Visual Studio 2019之后版本的VC,编译出来DLL,印象中,是再也无法支持Windows XP的。
不知有否记错?
——所以有时候拿到一个第三方DLL/FLL,我是真不太敢用。
因我根本无法控制、限制、央求第三方究竟会拿什么版本的VS来编译。
#3
吹水佬2023-01-15 16:35
isblank,先查看一下函数的解说,知道他是做什么的你用VFP照着做得出来就OK
#4
pvm20002023-01-16 15:12
我的Fll是VC6编译的,在XP/WIN7/WIN10下的VFP中均可运行
#5
pvm20002023-01-16 15:14
isblank(),直接用VFP土著语言写就好了
1