精華區beta Programming 關於我們 聯絡資訊
※ 引述《aguai.bbs@bbs.sayya.org (阿怪)》之銘言: : 謝謝前輩指點 : 容我進一步請教 : 大家都說 : JavaRuntime : 跟 : dotNet Framework : 是競爭對手 : 可是根據我自己對網路上各式各樣資料的理解 : JavaRuntime在Win32上跟Python,GTK+...等等語言 : 是以差不多的機制運作的 : 各自呼叫各自的dll : 然後才由dll去做事情 : 我想知道的是 : 這些dll(或exe)跟C:\windows\system32\....裡的那些dll : 有本質上的不同嗎 就我知道的部分回答, 如果你有寫過 dll, 你會比較容易知道這其中的差別, 即使同樣是 dll, 也有單執行緒/多執行緒、純函數/純資源、 物件導向/非物件導向、常駐/非常駐等不同的區別.... : 當我在*.cpp裡#include "windows.h"時 : 我做了什麼? : 我是呼叫了MSVC*****.dll : 還是呼叫了system32.dll? : (好像要看compiler?) 你就只是 #include "windows.h" 而已, 而且系統也沒有所謂的 MSVC*****.dll、system32.dll 等 dll 檔, 只有當你使用到 Win32 API 的函數時, 它才呼叫 KERNEL、USER、GDI 這三大模組之一, 而這三者都是一進入 Windows 就已經常駐的 dll, 所以不需要再額外把它們 load 進來.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.210.81
UNARYvvv:其實有一個 msvcrt.dll 啦..XD220.139.214.134 08/26 01:32
UNARYvvv:加上不同版本的220.139.214.134 08/26 01:35
UNARYvvv:(C runtime library)220.139.214.134 08/26 01:36
ssagit:我之前寫過一個 Win32SDK 的程式, 把它 211.74.191.100 08/26 02:38
ssagit:dump 出來看, 並沒有看到 msvcrt.dll .... 211.74.191.100 08/26 02:38
ssagit:當然系統是有這個檔案沒錯, 我是覺得要看你 211.74.191.100 08/26 02:38
ssagit:實際使用到的函數, 才決定會使用哪些dll檔. 211.74.191.100 08/26 02:39
UNARYvvv:不過如果你開個 MFC project 編出 exe 61.228.198.60 08/26 17:26
UNARYvvv:看一下應該就會有了 61.228.198.60 08/26 17:32
UNARYvvv:其實我也只是對第二句有點疑問而已 61.228.198.60 08/26 17:33
UNARYvvv:(跟 windows.h 也沒什麼關係了) 61.228.198.60 08/26 17:33
UNARYvvv:同意用到的函式決定用到的 DLL 61.228.198.60 08/26 17:34