2012-06-14 30 views
106

Tôi tìm thấy giải thích xác định WIN32_LEAN_AND_MEAN "làm giảm kích thước của các tệp tiêu đề Win32 bằng cách loại trừ một số API ít được sử dụng thường xuyên hơn". Một nơi khác tôi đọc rằng nó tăng tốc quá trình xây dựng.#defining WIN32_LEAN_AND_MEAN loại trừ chính xác là gì?

Vì vậy, loại trừ WIN32_LEAN_AND_MEAN chính xác là gì? Tôi có nên quan tâm đến chỉ thị tiền xử lý này không? Nó có tăng tốc quá trình xây dựng không?

Tôi cũng đã nhìn thấy một chỉ thị tiền xử lý trong các dự án có tên là một cái gì đó dọc theo dòng phụ nạc. Đây có phải là câu thần chú tiền xử lý bí truyền khác mà tôi nên biết không?

Trả lời

101

Trực tiếp từ windows.h tập tin tiêu đề:

#ifndef WIN32_LEAN_AND_MEAN 
    #include <cderr.h> 
    #include <dde.h> 
    #include <ddeml.h> 
    #include <dlgs.h> 
    #ifndef _MAC 
     #include <lzexpand.h> 
     #include <mmsystem.h> 
     #include <nb30.h> 
     #include <rpc.h> 
    #endif 
    #include <shellapi.h> 
    #ifndef _MAC 
     #include <winperf.h> 
     #include <winsock.h> 
    #endif 
    #ifndef NOCRYPT 
     #include <wincrypt.h> 
     #include <winefs.h> 
     #include <winscard.h> 
    #endif 

    #ifndef NOGDI 
     #ifndef _MAC 
      #include <winspool.h> 
      #ifdef INC_OLE1 
       #include <ole.h> 
      #else 
       #include <ole2.h> 
      #endif /* !INC_OLE1 */ 
     #endif /* !MAC */ 
     #include <commdlg.h> 
    #endif /* !NOGDI */ 
#endif /* WIN32_LEAN_AND_MEAN */ 

nếu bạn muốn biết những gì mỗi người trong số các tiêu đề thực sự, typeing tên tiêu đề vào tìm kiếm trong thư viện MSDN thường sẽ tạo ra một danh sách các các hàm trong tệp tiêu đề đó.

Ngoài ra, từ Microsoft's support page:

Đẩy nhanh tiến độ xây dựng quy trình, Visual C++ và Headers Windows cung cấp các định nghĩa mới như sau:

VC_EXTRALEAN
WIN32_LEAN_AND_MEAN

Bạn có thể sử dụng chúng để giảm kích thước của các tập tin tiêu đề Win32.

Cuối cùng, nếu bạn chọn sử dụng một trong các bộ tiền xử lý này và thứ bạn cần bị thiếu, bạn chỉ có thể bao gồm tệp tiêu đề cụ thể đó. Nhập tên của hàm bạn đang sử dụng vào MSDN thường sẽ tạo ra một mục sẽ cho bạn biết tiêu đề nào sẽ bao gồm nếu bạn muốn sử dụng nó, ở cuối trang.

58

Theo số Windows Dev Center WIN32_LEAN_AND_MEAN loại trừ các API chẳng hạn như Mật mã, DDE, RPC, Vỏ và Ổ cắm Windows.

+7

Tôi nghĩ đây là câu trả lời ngắn gọn mà hầu hết chúng ta đang tìm kiếm. –