如何判断lib和dll是32位还是64位?答案是使用微软的dumpbin工具,后面讲了如何使用gcc生成lib和dll
生活随笔
收集整理的這篇文章主要介紹了
如何判断lib和dll是32位还是64位?答案是使用微软的dumpbin工具,后面讲了如何使用gcc生成lib和dll
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么我會考慮這個問題呢?因為我在使用java去調用一個c的lib庫的時候,彈出以下警告: D:\work\ideaworkpaces\jdk21Test001\src\main\java\lib\hello.lib: %1 不是有效的 Win32 應用程序。
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
然后我就在想是不是這個lib庫是64為導致的,眾所周知,java只能調用32位的。
接下來,我開始講解如何使用dumpbin。
第一步,找出dumpbin.exe文件。
右鍵打開文件的所在位置。
當然我會直接告訴你dumpbin.exe文件在那里,就在:
第二步,配置一下,環境變量。
第三步,使用dumpbin.exe
dumpbin.exe /headers Hellolib.lib
結果為:
可以看出,該lib包為64位的。
32位的lib包長這樣:
當然dll庫也是一樣的:
dumpbin /headers HelloDll.dll
插嘴一句,其實gcc生成lib庫也是非常簡單的
以下是.h頭文件和實現.h文件的c源文件
先使用
gcc -c hello.c
生成hello.o文件:
然后將.o文件生成lib庫:
ar -cr hello.lib hello.o
結果圖:
如果只是想用gcc生成32位的lib庫的話,那就要在第一步的時候輸入:
gcc -m32 -c hello.c
然后輸入下面命令就行了。
ar -cr hello.lib hello.o
如果是想用gcc生成dll文件,也是非常簡單的
在上面第一步的前提下,輸入以下代碼就行了:
ar -cr hello.dll hello.o
結果圖:
總結
以上是生活随笔為你收集整理的如何判断lib和dll是32位还是64位?答案是使用微软的dumpbin工具,后面讲了如何使用gcc生成lib和dll的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 潮流周刊第一季完结(1~3
- 下一篇: 三种省市级联下拉列表的写法