Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: ý nghĩa các thông số trong file header VC++

  1. #1
    Ngày gia nhập
    04 2008
    Bài viết
    244

    Mặc định ý nghĩa các thông số trong file header VC++

    Visual C++ Code:
    1. // stdafx.h : include file for standard system include files,
    2. //  or project specific include files that are used frequently, but
    3. //      are changed infrequently
    4. //
    5.  
    6. #if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)
    7. #define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_
    8.  
    9. #if _MSC_VER > 1000
    10. #pragma once
    11. #endif // _MSC_VER > 1000
    12.  
    13. #define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers
    14.  
    15. #include <windows.h>
    16.  
    17.  
    18. // TODO: reference additional headers your program requires here
    19.  
    20. //{{AFX_INSERT_LOCATION}}
    21. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
    22.  
    23. #endif // !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)

    đây là file header stdafx.h,mình không hiểu là khi mình không có các dòng này ( khi mình tạo 1 file header mới )
    thì cũng không thấy ảnh hưởng gì( không có lỗi) vậy những dòng trên để làm gì vậy,sao lại có nhiều con số phức tạp quá,và khi mình lập trình có nhất thiết phải có nó không( mình định sẽ copy parse vào file header nào mà mình tạo ra -> không rõ có đúng không nữa)

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Những cái này tốt nhất là bạn không cần quan tâm, nếu như nó không ảnh hưởng tới chương trình. Tuy nhiên nếu bạn thực sự muốn biết thì MSDN là thứ giải thích rõ nhất.

    #if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444 553540000__INCLUDED_)
    #define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000 __INCLUDED_
    .....................
    #endif // !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444 553540000__INCLUDED_)

    Đây là một hàm điều kiện để khi bạn sử dụng include, thì include chỉ một lần duy nhất. Trong các phiên bản sau này thì không cần dùng cái này mà dùng preprocessor directive #pragma once

    _MSC_VER, đây là một Predefined Macros định nghĩa phiên bản của Visual C++. Nếu bạn muốn biết chi tiết, bạn có thể xem ở link sau:
    http://msdn.microsoft.com/en-us/library/b0084kay.aspx

    simple and very simple. Good luck!
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  3. #3
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Nói thêm tí :
    ‘stdafx’ là file header được dùng trong kĩ thuật ‘precompiled header’ để làm tăng tốc độ khi biên dịch chương trình. Nó chứa các file header không bị thay đổi và được dùng trong các file *.cpp khác của chương trình. Để dễ hình dung, ta xem xét ví dụ sau: bạn viết một chương trình win32 gồm 10 file *.cpp. Giả định là bạn dùng các thư viện hỗ trợ như: windows.h, string, vector, và một số thư viện khác nữa. Khi đó ta sẽ đặt chỉ thị ‘#include’ trong file ‘stdafx.h’. Sau đó, khi VC++ compiler thực hiện build project của bạn, điều đầu tiên được thực hiện là tiền xử lý mọi thứ trong stdafx.cpp (chỉ gồm chỉ thị ‘#include stdafx.h’) và lưu các thông tin đã xử lý vào percompiled header file. Khi biên dịch các file *.cpp còn lại, compiler không cần xử lý các header nữa, nó chỉ cần dùng các thông tin đã lưu trong file precompiled header để xử lý tiếp. Làm như vậy sẽ giúp cho quá trình biên dịch nhanh hơn đáng kể, đặc biệt các project lớn với hàng trăm file *.cpp và *.h.
    Cánh Chym ứ mỏi

Các đề tài tương tự

  1. Lỗi khi sử dụng file Header trong VC++ và VS
    Gửi bởi GunLengend trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 02-10-2012, 10:45 PM
  2. Cách khởi tạo và gọi header file trong C++?
    Gửi bởi jlvljcky trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 09-03-2011, 10:26 PM
  3. Tại sao header file không có định nghĩa hàm?
    Gửi bởi icanfeel trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 22-10-2010, 11:30 PM
  4. Tài liệu lập trình C++ Tài liệu lập trình thư viện Header file trong C++
    Gửi bởi tamthientai trong diễn đàn Tài liệu, ebooks và công cụ
    Trả lời: 5
    Bài viết cuối: 04-10-2010, 05:43 PM
  5. Cách đọc và kiểm tra file header trong lập trình VC++
    Gửi bởi Xcross87 trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 01-02-2008, 07:03 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn