Apakah DLL?

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 815065 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menjelaskan apa dynamic link library (DLL) adalah dan berbagai masalah yang mungkin terjadi saat Anda menggunakan dll.

Kemudian, artikel ini menjelaskan beberapa masalah lanjutan yang harus Anda pertimbangkan ketika Anda mengembangkan dll Anda sendiri. Dalam menggambarkan apa DLL, artikel ini menjelaskan metode menghubungkan dinamis, DLL dependensi, DLL entry poin, mengekspor DLL fungsi, dan DLL pemecahan masalah alat.

Artikel ini diakhiri dengan perbandingan tingkat tinggi dll ke Microsoft.NET Framework Majelis.

PENDAHULUAN

Untuk sistem operasi Microsoft Windows yang terdaftar di bagian "Berlaku untuk", banyak fungsi sistem operasi disediakan oleh dynamic link library (DLL). Selain itu, ketika Anda menjalankan program pada salah satu sistem operasi Windows, banyak fungsi program dapat disediakan oleh dll. Sebagai contoh, beberapa program mungkin berisi banyak modul yang berbeda, dan setiap modul program terdapat dan didistribusikan di dll.

Penggunaan dll membantu mempromosikan modularisasi dari kode, menggunakan kembali kode, penggunaan efisien memori dan ruang disk berkurang. Oleh karena itu, sistem operasi dan program memuat lebih cepat, berjalan lebih cepat dan memakan waktu kurang ruang disk pada komputer.

Ketika sebuah program menggunakan DLL, masalah yang disebut ketergantungan dapat menyebabkan program tidak untuk menjalankan. Ketika sebuah program menggunakan DLL, sebuah dependensi dibuat. Jika program lain akan menimpa dan istirahat ini ketergantungan, program asli mungkin tidak berhasil menjalankan.

Dengan pengenalan Microsoft.NET Framework, sebagian besar masalah ketergantungan memiliki telah dihapuskan oleh menggunakan Majelis.

INFORMASI LEBIH LANJUT

Apakah DLL?

DLL adalah sebuah perpustakaan yang berisi kode dan data yang dapat digunakan oleh lebih dari satu program pada saat yang sama. Sebagai contoh, dalam operasi Windows sistem, Comdlg32 DLL melakukan dialog umum kotak berhubungan fungsi. Oleh karena itu, setiap program dapat menggunakan fungsi yang terdapat dalam ini DLL untuk menerapkan Terbuka kotak dialog. Ini membantu mempromosikan kembali kode dan penggunaan efisien memori.

Dengan menggunakan DLL, sebuah program dapat modularized ke dalam komponen-komponen yang terpisah. Sebagai contoh, program akuntansi mungkin dijual oleh modul. Setiap modul dapat dimuat ke program utama saat menjalankan jika modul diinstal. Karena modul-modul terpisah, saat beban program ini lebih cepat, dan modul hanya dimuat ketika bahwa fungsi diminta.

Selain itu, pembaruan lebih mudah untuk diterapkan ke setiap modul tanpa mempengaruhi bagian-bagian lain dari program. Sebagai contoh, Anda mungkin memiliki program penggajian, dan tarif pajak berubah setiap tahun. Ketika perubahan ini adalah terisolasi untuk DLL, Anda dapat menerapkan pembaruan tanpa perlu untuk membangun atau menginstal seluruh program lagi.

Daftar berikut ini menjelaskan beberapa file yang diimplementasikan sebagai dll dalam sistem operasi Windows:
  • Kontrol ActiveX (.ocx) file
    Contoh kontrol ActiveX adalah kalender kontrol yang memungkinkan Anda memilih tanggal dari kalender.
  • Kontrol Panel (.cpl) file
    Contoh file .cpl adalah item yang terletak di Panel kontrol. Setiap item adalah DLL khusus.
  • Perangkat berkas pengandar (.drv)
    Contoh dari pengandar perangkat adalah pengandar printer yang kontrol mencetak ke printer.

Keuntungan DLL

Daftar berikut ini menjelaskan beberapa keuntungan yang berikan saat program menggunakan DLL:
  • Menggunakan lebih sedikit sumber daya
    Ketika beberapa program menggunakan perpustakaan sama fungsi, DLL dapat mengurangi duplikasi kode yang dimuat pada disk dan di memori fisik. Ini dapat sangat mempengaruhi kinerja tidak hanya program yang berjalan di latar depan, tapi juga program-program lain yang berjalan pada sistem operasi Windows.
  • Mempromosikan arsitektur modular
    DLL membantu mempromosikan pengembangan modular program. Ini membantu Anda mengembangkan program besar yang memerlukan beberapa versi bahasa atau program yang memerlukan arsitektur modular. Contoh program modular program akuntansi yang memiliki banyak modul yang dapat secara dinamis dimuat di jalankan waktu.
  • Memudahkan penyebaran dan instalasi
    Ketika fungsi dalam DLL kebutuhan pembaruan atau perbaikan, penyebaran dan instalasi DLL tidak memerlukan program akan relinked dengan DLL. Selain itu, jika beberapa program menggunakan sama DLL, beberapa program akan semua manfaat dari pembaruan atau perbaikan. Masalah ini mungkin lebih sering terjadi ketika Anda menggunakan pihak ketiga DLL yang secara teratur diperbarui atau tetap.

Dependensi DLL

Ketika sebuah program atau DLL menggunakan fungsi DLL di lain DLL, ketergantungan dibuat. Oleh karena itu, program ini tidak lagi mandiri, dan program mungkin mengalami masalah jika ketergantungan rusak. Sebagai contoh, program tidak dapat dijalankan jika salah satu tindakan berikut terjadi:
  • DLL tergantung di-upgrade ke versi baru.
  • DLL tergantung tetap.
  • DLL tergantung ditimpa dengan sebelumnya Versi.
  • Tergantung DLL akan dihapus dari komputer.
Tindakan ini umumnya dikenal sebagai konflik DLL. Jika mundur kompatibilitas tidak ditegakkan, program mungkin tidak berhasil menjalankan.

Daftar berikut ini menjelaskan perubahan yang telah diperkenalkan pada Microsoft Windows 2000 dan dalam sistem operasi Windows kemudian untuk membantu meminimalkan ketergantungan masalah:
  • Perlindungan Berkas Windows
    Dalam perlindungan berkas Windows, sistem operasi mencegah sistem dll dari yang diperbarui atau dihapus oleh agen tidak sah. Oleh karena itu, ketika penginstalan program mencoba untuk menghapus atau memperbarui DLL yang didefinisikan sebagai sistem DLL, perlindungan berkas Windows akan mencari digital berlaku tanda tangan.
  • Swasta dll
    Swasta dll membiarkan Anda mengisolasi sebuah program dari perubahan yang dibuat untuk bersama dll. swasta dll menggunakan informasi versi tertentu atau kosong .local file untuk menegakkan versi DLL yang digunakan oleh program. Pada menggunakan pribadi dll, Cari Anda dll di map akar program. Kemudian, untuk baru program, menambahkan informasi versi tertentu DLL. Untuk program-program lama, menggunakan kosong .local file. Setiap metode mengatakan sistem operasi menggunakan swasta Dll yang terletak di map akar program.

Alat-alat pemecahan masalah DLL

Beberapa alat tersedia untuk membantu Anda memecahkan masalah DLL. Alat berikut adalah beberapa alat-alat ini.

Ketergantungan Walker

Alat ketergantungan Walker dapat secara rekursif memindai semua tergantung Dll yang digunakan oleh program. Ketika Anda membuka program dalam ketergantungan Walker, Ketergantungan Walker melakukan cek berikut:
  • Ketergantungan Walker cek untuk hilang dll.
  • Ketergantungan Walker memeriksa file program atau dll yang tidak berlaku.
  • Ketergantungan Walker cek bahwa fungsi impor dan ekspor sesuai dengan fungsi.
  • Ketergantungan Walker memeriksa melingkar ketergantungan kesalahan.
  • Ketergantungan Walker cek untuk modul yang tidak sah karena modul untuk sistem operasi yang berbeda.
Dengan menggunakan ketergantungan Walker, Anda dapat dokumen semua dll yang program menggunakan. Ini dapat membantu mencegah dan memperbaiki masalah DLL yang mungkin terjadi di masa depan. Ketergantungan Walker terletak di direktori berikut ketika Anda menginstal Microsoft Visual Studio 6.0:
drive\Program visual Studio\Common\Tools

Pemecah masalah Universal DLL

Alat pemecah masalah Universal (DUPS) DLL yang digunakan untuk melakukan audit, Bandingkan, dokumen, dan menampilkan informasi DLL. Daftar berikut ini menjelaskan utilitas yang membuat alat DUPS:
  • Dlister.exe
    Utilitas ini enumerates semua dll di komputer dan log informasi ke file teks atau untuk sebuah file database.
  • Dcomp.exe
    Utilitas ini membandingkan dll yang tercantum dalam dua teks file dan menghasilkan file teks ketiga yang berisi perbedaan.
  • Dtxt2DB.exe
    Utilitas ini memuat berkas teks yang dibuat dengan menggunakan utilitas Dlister.exe dan utilitas Dcomp.exe ke dllHell database.
  • DlgDtxt2DB.exe
    Utilitas ini menyediakan antarmuka pengguna grafis (GUI) Versi utilitas Dtxt2DB.exe.
Untuk informasi lebih lanjut tentang alat DUPS, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
247957Menggunakan DUPS.exe untuk mengatasi masalah kompatibilitas DLL

Pengembangan DLL

Bagian ini berisi tentang isu-isu dan persyaratan yang Anda harus mempertimbangkan ketika Anda mengembangkan dll Anda sendiri.

Jenis dll

Ketika Anda memuat DLL di sebuah aplikasi, dua metode menghubungkan membiarkan Anda memanggil fungsi DLL diekspor. Dua metode menghubungkan waktu buka menghubungkan dinamis dan menghubungkan dinamis run-time.
Waktu buka dinamis menghubungkan
Dalam waktu buka dinamis, aplikasi membuat eksplisit panggilan untuk diekspor DLL fungsi seperti lokal fungsi. Untuk menggunakan waktu buka dinamis menghubungkan, menyediakan sebuah header (.h) file dan impor perpustakaan (.lib) file ketika Anda mengkompilasi dan link aplikasi. Ketika Anda melakukan ini, linker akan memberikan sistem dengan informasi yang diperlukan untuk memuat DLL dan menyelesaikan diekspor DLL fungsi lokasi pada waktu buka.
Run-time dinamis menghubungkan
Dalam dinamis run-time, menghubungkan, panggilan aplikasi baik LoadLibrary fungsi atau LoadLibraryEx fungsi untuk memuat DLL pada jangka waktu. Setelah DLL sukses dimuat, Anda menggunakan GetProcAddress fungsi untuk mendapatkan alamat DLL diekspor fungsi yang ingin Anda panggil. Ketika Anda menggunakan run-time menghubungkan dinamis, Anda tidak perlu Impor file perpustakaan.

Daftar berikut ini menjelaskan aplikasi kriteria untuk ketika menggunakan waktu buka dinamis menghubungkan dan ketika menggunakan run-time menghubungkan dinamis:
  • Startup kinerja
    Apakah startup awal kinerja aplikasi penting, Anda harus menggunakan run-time dinamis menghubungkan.
  • Kemudahan penggunaan
    Dalam waktu buka dinamis menghubungkan, DLL diekspor fungsi yang seperti lokal fungsi. Hal ini membuat mudah bagi Anda untuk panggilan ini fungsi.
  • Logika aplikasi
    Dalam dinamis run-time, menghubungkan, aplikasi dapat cabang untuk memuat modul yang berbeda seperti yang diperlukan. Hal ini penting ketika Anda mengembangkan Versi multi-bahasa.

Titik entri DLL

Ketika Anda membuat DLL, Anda dapat secara opsional menentukan titik masuk fungsi. Titik entri fungsi disebut ketika proses atau benang melampirkan diri mereka untuk DLL atau terpisah sendiri dari DLL. Anda dapat menggunakan fungsi titik entri untuk menginisialisasi struktur data atau untuk menghancurkan data struktur seperti yang dipersyaratkan oleh DLL. Selain itu, jika aplikasi multithreaded, Anda dapat menggunakan benang penyimpanan lokal (TLS) untuk mengalokasikan memori yang pribadi untuk setiap thread di fungsi titik entri. Kode berikut contoh fungsi titik entri DLL.
BOOL APIENTRY DllMain(
HANDLE hModule,	// Handle to DLL module
	DWORD ul_reason_for_call,	// Reason for calling function
	LPVOID lpReserved ) // Reserved
{
	switch ( ul_reason_for_call )
	{
		case DLL_PROCESS_ATTACHED:
		// A process is loading the DLL.
		break;
		case DLL_THREAD_ATTACHED:
		// A process is creating a new thread.
		break;
		case DLL_THREAD_DETACH:
		// A thread exits normally.
		break;
		case DLL_PROCESS_DETACH:
		// A process unloads the DLL.
		break;
	}
	return TRUE;
}
Ketika fungsi titik masuk kembali PALSU nilai, aplikasi tidak akan mulai jika Anda menggunakan waktu buka menghubungkan dinamis. Jika Anda menggunakan dinamis run-time, menghubungkan, hanya individu DLL tidak akan memuat.

Titik entri fungsi harus hanya melakukan sederhana inisialisasi tugas dan tidak boleh menyebut DLL loading atau penghentian fungsi. Sebagai contoh, dalam catatan titik fungsi, Anda harus tidak langsung atau secara tidak langsung panggilan LoadLibrary fungsi atau LoadLibraryEx fungsi. Selain itu, Anda tidak boleh menyebut FreeLibrary fungsi ketika proses mengakhiri.

Catatan Dalam multithreaded aplikasi, pastikan bahwa akses untuk DLL global data disinkronisasi (benang aman) untuk menghindari galat data mungkin. Pada melakukan hal ini, menggunakan TLS untuk menyediakan data unik untuk setiap thread.

Mengekspor DLL fungsi

Untuk mengekspor DLL fungsi, Anda juga dapat menambahkan kata kunci fungsi untuk DLL diekspor fungsi atau membuat file definisi (.def) modul yang berisi daftar fungsi DLL diekspor.

Untuk menggunakan fungsi kata kunci, Anda harus menyatakan masing-masing fungsi yang Anda ingin ekspor dengan kunci berikut:
__declspec(dllexport)
Menggunakan fungsi DLL diekspor dalam aplikasi, Anda harus menyatakan masing-masing fungsi yang ingin Anda impor dengan kunci berikut:
__declspec(dllimport)
Biasanya, Anda akan menggunakan satu file header yang telah menentukan pernyataan dan ifdef pernyataan untuk memisahkan pernyataan ekspor dan impor pernyataan.

Anda juga dapat menggunakan file definisi modul untuk menyatakan diekspor DLL fungsi. Ketika Anda menggunakan file definisi modul, Anda tidak memiliki untuk menambahkan kata kunci fungsi untuk fungsi DLL diekspor. Dalam modul file definisi, Anda menyatakan PERPUSTAKAAN pernyataan dan EKSPOR pernyataan untuk DLL. Kode berikut adalah contoh file definisi.
// SampleDLL.def
//
LIBRARY "sampleDLL"

EXPORTS
  HelloWorld

Contoh DLL dan aplikasi

Di Microsoft Visual C++ 6.0, Anda dapat membuat DLL dengan memilih baik Win32 Dynamic-Link Perpustakaan proyek jenis atau MFC AppWizard (dll) jenis proyek.

Kode berikut ini adalah contoh dari DLL yang dibuat dalam Visual C++ dengan menggunakan Win32 Dynamic-Link Perpustakaan jenis proyek.
// SampleDLL.cpp
//

#include "stdafx.h"
#define EXPORTING_DLL
#include "sampleDLL.h"

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
    return TRUE;
}

void HelloWorld()
{
	MessageBox( NULL, TEXT("Hello World"), TEXT("In a DLL"), MB_OK);
}
// File: SampleDLL.h
//
#ifndef INDLL_H
#define INDLL_H

#ifdef EXPORTING_DLL
extern __declspec(dllexport) void HelloWorld() ;
#else
extern __declspec(dllimport) void HelloWorld() ;
#endif

#endif
Kode berikut adalah contoh Win32 Aplikasi proyek yang memanggil fungsi DLL diekspor di SampleDLL DLL.
// SampleApp.cpp 
//

#include "stdafx.h"
#include "sampleDLL.h"

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{ 	
	HelloWorld();
	return 0;
}
Catatan Dalam waktu buka dinamis, Anda harus link SampleDLL.lib Impor perpustakaan yang dibuat ketika Anda membangun SampleDLL proyek.

Dalam dinamis run-time, menghubungkan, Anda menggunakan kode yang sama dengan kode berikut untuk memanggil SampleDLL.dll diekspor DLL fungsi.
...
typedef VOID (*DLLPROC) (LPTSTR);
...
HINSTANCE hinstDLL;
DLLPROC HelloWorld;
BOOL fFreeDLL;

hinstDLL = LoadLibrary("sampleDLL.dll");
if (hinstDLL != NULL)
{
    HelloWorld = (DLLPROC) GetProcAddress(hinstDLL, "HelloWorld");
    if (HelloWorld != NULL)
        (HelloWorld);

    fFreeDLL = FreeLibrary(hinstDLL);
}
...
Ketika Anda mengkompilasi dan link SampleDLL aplikasi, jendela sistem operasi mencari DLL SampleDLL di lokasi-lokasi berikut di urutan ini:
  1. Folder aplikasi
  2. Folder saat ini
  3. Folder sistem Windows

    Catatan The GetSystemDirectory fungsi kembali jalan sistem Windows folder.
  4. Map Windows

    Catatan The GetWindowsDirectory fungsi mengembalikan lintasan dari map Windows.

The.NET Framework Majelis

Dengan pengenalan Microsoft.NET dan.NET Framework, sebagian besar masalah yang berhubungan dengan dll telah dieliminasi oleh menggunakan Majelis. Perakitan adalah unit logis fungsionalitas yang berjalan di bawah kendali.NET common language runtime (CLR). Majelis secara fisik ada sebagai berkas .dll atau sebagai berkas .exe. Namun, secara internal Majelis ini sangat berbeda dari Microsoft Win32 DLL.

Majelis file berisi Majelis nyata, jenis metadata, Microsoft menengah kode bahasa (menjalankan), dan sumber daya lainnya. Majelis nyata berisi Majelis metadata yang memberikan semua informasi yang diperlukan untuk Majelis harus self-describing. Informasi berikut disertakan dalam Majelis nyata:
  • Nama Majelis
  • Informasi versi
  • Budaya informasi
  • Nama kuat informasi
  • Daftar perakitan file
  • Jenis referensi informasi
  • Informasi direferensikan dan tergantung Majelis
Menjalankan kode yang terdapat dalam Majelis tidak dapat langsung dieksekusi. Sebaliknya, menjalankan kode eksekusi dikelola melalui CLR. Oleh default, bila Anda membuat perakitan, Majelis pribadi untuk aplikasi. Untuk membuat Majelis bersama memerlukan bahwa Anda menetapkan nama yang kuat Majelis dan kemudian menerbitkan Majelis di Majelis global cache.

Daftar berikut ini menjelaskan beberapa fitur Majelis dibandingkan dengan fitur dll Win32:
  • Self-describing
    Bila Anda membuat perakitan, semua informasi yang adalah diperlukan untuk CLR menjalankan Majelis terkandung dalam Majelis nyata. Majelis nyata berisi daftar Majelis tergantung. Oleh karena itu, CLR dapat mempertahankan seperangkat konsisten Majelis yang digunakan dalam aplikasi. Dalam Win32 dll, Anda tidak bisa menjaga konsistensi antara satu set Dll yang digunakan dalam aplikasi ketika Anda menggunakan bersama dll.
  • Versi
    Pada Majelis nyata, merekam informasi versi dan ditegakkan oleh CLR. Selain itu, versi kebijakan memungkinkan Anda menegakkan Versi khusus penggunaan. Dalam dll Win32, versi tidak bisa ditegakkan oleh sistem operasi. Sebaliknya, Anda harus memastikan bahwa dll mundur kompatibel.
  • Sisi-by-side penyebaran
    Majelis mendukung penyebaran sisi-by-side. Satu aplikasi dapat menggunakan salah satu versi dari Majelis, dan aplikasi lain dapat menggunakan yang berbeda Versi perakitan. Dimulai pada Windows 2000, adalah sisi-by-side penyebaran didukung oleh mencari dll dalam folder aplikasi. Selain itu, Windows Perlindungan berkas mencegah sistem dll yang ditimpa atau digantikan oleh agen yang tidak sah.
  • Self-Containment dan isolasi
    Sebuah aplikasi yang dikembangkan dengan menggunakan Majelis dapat Self-contained dan terisolasi dari aplikasi lain yang berjalan pada komputer. Fitur ini membantu Anda membuat nol-dampak instalasi.
  • Eksekusi
    Majelis berjalan di bawah izin keamanan yang disediakan di Majelis nyata dan yang dikendalikan oleh CLR.
  • Bahasa independen
    Majelis dapat dikembangkan dengan menggunakan salah satu dari didukung.Bahasa yang bersih. Sebagai contoh, Anda dapat mengembangkan sebuah Majelis di Microsoft Visual C#, dan kemudian menggunakan Majelis di Microsoft Visual Basic.NET proyek.

REFERENSI

Untuk informasi lebih lanjut tentang dll dan.NET Framework Majelis, kunjungi Web site Microsoft berikut:
Konflik DLL
http://msdn2.Microsoft.com/en-us/library/ms811694.aspx

Menerapkan sisi-by-side komponen berbagi dalam aplikasi
http://msdn2.Microsoft.com/en-us/library/ms811700.aspx

Cara membangun dan layanan terisolasi aplikasi dan sisi-by-side Majelis untuk Windows XP
http://msdn2.Microsoft.com/en-us/library/ms997620.aspx

Menyederhanakan penggunaan dan memecahkan DLL bertentangan dengan.NET Framework
http://msdn2.Microsoft.com/en-US/netframework/aa497268.aspx

The.NET Framework pengembang panduan: Majelis
.aspx http://msdn2.Microsoft.com/en-us/library/hk5f40ct (vs.71)

Run-time dinamis menghubungkan
http://msdn2.Microsoft.com/en-us/library/ms685090.aspx

Thread penyimpanan lokal
http://msdn2.Microsoft.com/en-us/library/ms686749.aspx

Properti

ID Artikel: 815065 - Kajian Terakhir: 04 Oktober 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Server
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Academic Edition
  • Microsoft Visual Studio 6.0 Professional Edition
  • Microsoft Visual Studio 6.0 Enterprise Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Office XP Professional Edition
  • Microsoft Office XP Small Business Edition
  • Microsoft Office XP Standard Edition
  • Microsoft Office Professional Edition 2003
  • Microsoft Office Small Business Edition 2003
Kata kunci: 
kbxplatform kbtshoot kbdebug kbdll kbinfo kbmt KB815065 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:815065

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com