找回密码
 注册
Simdroid-非首页
查看: 975|回复: 8

[3. Fortran] 请教:dos下的16位库如何改成32位

[复制链接]
发表于 2004-7-11 13:46:06 | 显示全部楼层 |阅读模式 来自 北京
   本人有一个dos下的16位fortran形成autocad dwg文件库如何改成windows下的32位库?
发表于 2004-7-11 22:55:30 | 显示全部楼层 来自 美国

回复: 请教:dos下的16位库如何改成32位

Simdroid开发平台
用WINDOWS下的编译器如CVF重新编译一下行么?
 楼主| 发表于 2004-7-14 22:58:20 | 显示全部楼层 来自 北京

回复: 请教:dos下的16位库如何改成32位

没有源码!怎么办?
发表于 2004-7-16 09:38:07 | 显示全部楼层 来自 天津

回复: 请教:dos下的16位库如何改成32位

用lib.exe来试试看。在cvf或msvc的安装目录中,使用方法可以查看MSDN.
 楼主| 发表于 2004-7-18 19:14:56 | 显示全部楼层 来自 北京

回复: 请教:dos下的16位库如何改成32位

首先谢谢freepu scie.我用lib试过,只能列表、提取等等,无法该成32位?还有其他办法?
l
发表于 2004-7-19 08:07:18 | 显示全部楼层 来自 天津

回复: 请教:dos下的16位库如何改成32位

16位与32位程序的互操作  
最近由于项目的原因,需要在Win9x平台上做一些底层的工作。Win95/Win98虽然是32位的操作系统,但是为了兼容16位应用程序,其中仍然保留着相当数量的16位程序,一些系统调用,最终还是通过16位程序完成的。这样,在Win9x平台上,一些底层的应用就会涉及32位代码和16位代码之间的互相调用。
  
微软为16位与32位代码间的互操作提供了一个标准的解决方案,称作Flat Thunk(在微软的技术中,有很多地方都用到了thunk这个词,比如在ATL中也有一个thunk,用来实现窗口句柄和窗口类之间的映射。Thunk在金山词霸中的解释是“形(式)实(在)转换程序”,侯捷在某处将它译为“一小段程序”)。简单说来,Flat Thunk由一个thunk脚本、一个32位dll和一个16位dll组成,这两个dll中含有thunk compiler生成的32位和16位连接代码,避免了由程序员自己来处理32位和16位代码转换时复杂的堆栈管理、内存对齐等工作。KB中有两篇文章解说的很详细:
  
   
  
HOWTO: Call 16-bit Code from 32-bit Code Under Windows 95, Windows 98, and Windows Me
  
HOWTO: Call 32-bit Code from 16-bit Code Under Windows 95, Windows 98, or Windows Millennium Edition
  
   
  
其中要用到一些比较古老的工具,现在的Platform SDK中已经没有了,比如VC1.52、Thunk Compiler等。如果一直有订阅MSDN,到以前的MSDN中找找,可能能够找到。
  
Wednesday, April 07, 2004 11:12 AM  
  
转自:http://blog.joycode.com/sam1111/posts/18489.aspx

评分

1

查看全部评分

发表于 2004-7-19 08:13:45 | 显示全部楼层 来自 天津

回复: 请教:dos下的16位库如何改成32位

贴一些相关的帖子和链接给你,也许有用。
  
(1)http://www.programfan.com/showarticle.asp?id=773
  
(2)
Borland C++ Builder 3.0  
    Win98  
    1、我想用BCB3.0产生16位的DLL,是否可以?  
    2、如果BCB3.0不能产生16位的DLL,我是否在我的16位程序中调用BCB产生的32位DLL?  
  
回答:  
  
    BCB 3.0不能生成16位DLL,只能生成32位DLL。如果要生成16位DLL请使用Borland C++ 3.x/4.x/5.x。  
    尽量不要在16位程序中调用32位DLL,因为这要使用thunk技术,非常麻烦。你可以下载call32nt.zip,这个文件展示如何在16位程序中调用32位DLL。还可以下载VB版本
  http://www.arcatapet.com/vb.html
和VFP版本
http://www.west-wind.com/wwfp2pd.htm
的Call32。
 楼主| 发表于 2004-7-23 18:48:52 | 显示全部楼层 来自 北京

回复: 请教:dos下的16位库如何改成32位

谢谢!!
 楼主| 发表于 2022-4-11 09:39:45 | 显示全部楼层 来自 北京
关键是如何把16位的库文件(.lib)改成32位?如何操作?
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-6-18 19:41 , Processed in 0.059993 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表