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

Đề tài: Làm thế nào để sử dụng biến toàn cục qua nhiều file mã nguồn ?

  1. #1
    Ngày gia nhập
    11 2011
    Bài viết
    14

    Mặc định Làm thế nào để sử dụng biến toàn cục qua nhiều file mã nguồn ?

    MÌnh có một ứng dụng MFC, single dialog
    với các file cpp như:
    ChildView.cpp
    ChildView.h
    MainFrm.cpp
    MainFrm.h
    ....

    Giả sử mình cần khai báo biến toàn cục AA. Xin hỏi cách khai báo biến này để trong các file trên đều hiểu được giá trị của biến này.

  2. #2
    Ngày gia nhập
    11 2007
    Nơi ở
    Hà Nội
    Bài viết
    520

    Các ứng dụng mfc đều có file stdafx.h và stdafx.cpp
    Đây là các Precompiled Header Files mà các ứng dụng MFC thường sử dụng và thường được include trong các file .h khác
    bạn có thể khai báo 1 biến trong file stdafx.cpp sau đó khai báo extern của biến này trong stdafx.h

    Nếu thay đổi các biến này bạn cần rebuild lại toàn bộ project

  3. #3
    Ngày gia nhập
    11 2011
    Bài viết
    14

    Trích dẫn Nguyên bản được gửi bởi quangnh89 Xem bài viết
    Các ứng dụng mfc đều có file stdafx.h và stdafx.cpp
    Đây là các Precompiled Header Files mà các ứng dụng MFC thường sử dụng và thường được include trong các file .h khác
    bạn có thể khai báo 1 biến trong file stdafx.cpp sau đó khai báo extern của biến này trong stdafx.h

    Nếu thay đổi các biến này bạn cần rebuild lại toàn bộ project
    Bạn cho mình ví dụ về khai báo extern

  4. #4
    Ngày gia nhập
    11 2007
    Nơi ở
    Hà Nội
    Bài viết
    520

    Trích dẫn Nguyên bản được gửi bởi ptolemy Xem bài viết
    Bạn cho mình ví dụ về khai báo extern
    bạn xem ở đây nhé, có ví dụ cụ thể đấy

  5. #5
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    Theo kiến thức của mình, có 2 cách sử dụng biến toán cục qua nhiều file mã nguồn.

    Cách 1. Chỉ có file cpp.

    global.cpp:

    C++ Code:
    1. //khai báo g_nValue ngoài khối lệnh
    2. int g_nValue = 5;

    main.cpp:

    C++ Code:
    1. // nói cho trình biên dịch biết, g_nValue đã được khai báo ở đâu đó, hãy tìm nó, ta muốn
    2. // sử dụng biến này ở đây
    3. extern int g_nValue;
    4.  
    5. int main()
    6. {
    7.     g_nValue = 7;
    8.     return 0;
    9. }

    Cách 2. Có header files.

    global.cpp:
    C++ Code:
    1. // khai báo g_nValue ngoài khối lệnh
    2. int g_nValue = 5;

    global.h:
    C++ Code:
    1. #ifndef GLOBAL_H // header guards
    2. #define GLOBAL_H
    3.  
    4. // nói cho trình biên dịch biết, g_nValue đã được khai báo ở đâu đó, hãy tìm nó, ta muốn
    5. // sử dụng biến này ở đây
    6. extern int g_nValue;
    7.  
    8. #endif

    main.cpp:

    C++ Code:
    1. #include "global.h"
    2. int main()
    3. {
    4.     g_nValue = 7;
    5.     return 0;
    6. }

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

  1. Biết nhiều ngôn ngữ lập trình nhưng biết không sâu ! phải làm thế nào ?
    Gửi bởi oxfordthuongyeu trong diễn đàn Kinh nghiệm CNTT
    Trả lời: 30
    Bài viết cuối: 06-03-2013, 03:48 PM
  2. Xử lý nhiều thread truyền nhiều file lớn như thế nào ?
    Gửi bởi iamme22021990 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 03-01-2012, 09:19 PM
  3. khai báo biến toàn cục trong file .h để sử dụng nhiều nơi?
    Gửi bởi alisson trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 6
    Bài viết cuối: 15-02-2011, 02:27 PM
  4. Mã nguồn C | Các thao tác trên File trong lập trình C
    Gửi bởi PoPoPoPo trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 27-09-2007, 10:35 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