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

Đề tài: khái niệm căn lề các biến

  1. #1
    Ngày gia nhập
    10 2012
    Bài viết
    3

    Thumbs down khái niệm căn lề các biến

    1/khái niệm căn lề các biến ( word algin) và trong VS từ khóa nào làm việc này đc ko ah?
    2/biểu diễn số nguyên trong phạm vi lớn hơn.
    các huynh giúp giùm e.

  2. #2
    Ngày gia nhập
    11 2010
    Bài viết
    589

    Trích dẫn Nguyên bản được gửi bởi hearttt2911 Xem bài viết
    1/khái niệm căn lề các biến ( word algin) và trong VS từ khóa nào làm việc này đc ko ah?
    2/biểu diễn số nguyên trong phạm vi lớn hơn.
    các huynh giúp giùm e.
    1. VS thì không rõ những C++ chuẩn thì có từ khoá alignas: http://en.cppreference.com/w/cpp/language/alignas
    2. Search "số nguyên lớn". Vấn đề bàn nhiều rồi.

  3. #3
    Ngày gia nhập
    04 2010
    Nơi ở
    Binh Thanh, Hồ Chí Minh, Vietnam, Vietnam
    Bài viết
    504

    VS 2012 chưa hỗ trợ keyword alignas. ~>"<~. Cũng không có macro để dùng như trong mô tả của http://en.cppreference.com/w/cpp/language/alignas. Mà phải làm như sau:
    Visual C++ Code:
    1. __declspec(align(32)) struct Str1
    2. {
    3.    int a, b, c, d, e;
    4. };
    Kết bạn với tôi <3
    Skype: giautm
    Facebook:
    https://fb.com/giautm.duongntt
    Email:
    giau.tmg@gmail.com

  4. #4
    Ngày gia nhập
    11 2010
    Bài viết
    589

    Sau một hồi google thì đã tìm ra cách tạm "fix" thiếu sót này cho VS:
    C++ Code:
    1. #ifdef  _MSC_VER
    2.     #define alignas(sz)             __declspec(align(get_align_of<sz>::value))
    3.     #define alignof(type)           __alignof(type)
    4.  
    5.     template <std::size_t sz>
    6.     struct get_align_of {
    7.         enum { value = sz; };
    8.     };
    9.  
    10.     template <typename T>
    11.     struct get_align_of {
    12.         enum { value = alignof(T) };
    13.     };
    14. #endif
    Đã được chỉnh sửa lần cuối bởi boss14420 : 27-11-2012 lúc 10:56 PM.

  5. #5
    Ngày gia nhập
    04 2010
    Nơi ở
    Binh Thanh, Hồ Chí Minh, Vietnam, Vietnam
    Bài viết
    504

    Trích dẫn Nguyên bản được gửi bởi boss14420 Xem bài viết
    Sau một hồi google thì đã tìm ra cách tạm "fix" thiếu sót này cho VS:
    C++ Code:
    1. #ifdef  _MSC_VER
    2.     #define alignas(sz)             __declspec(align(get_align_of<sz>::value))
    3.     #define alignof(type)           __alignof(type)
    4.  
    5.     template <std::size_t sz>
    6.     struct get_align_of {
    7.         enum { value = sz; };
    8.     };
    9.  
    10.     template <typename T>
    11.     struct get_align_of {
    12.         enum { value = alignof(T) };
    13.     };
    14. #endif
    Câu lệnh ở hai trường hợp là khác nhau đấy ạ. Nếu có từ khóa alignas thì từ khóa này nằm sau từ khóa struct. Còn nếu dùng macro như bác thì alignas() phải nằm trước từ khóa struct.
    Kết bạn với tôi <3
    Skype: giautm
    Facebook:
    https://fb.com/giautm.duongntt
    Email:
    giau.tmg@gmail.com

  6. #6
    Ngày gia nhập
    10 2012
    Bài viết
    3

    Mặc định khái niệm căn lề các biến

    các a chỉ rõ hơn dùm e đc ko ah...e còn lan man lắm ah...lan man từ đâu đến cuối...hihi

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

  1. Toán tử đều căn bản nhất trong C/C++ cần phải biết
    Gửi bởi LaptrinhC trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 9
    Bài viết cuối: 08-08-2013, 11:01 AM
  2. Thuộc tính khóa ngoài( tham chiếu) biến mất khi biến đổi từ file XML sang DataTable
    Gửi bởi itmanhieu trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 17-08-2011, 08:02 PM
  3. Vẽ căn nhà bằng C++, không biết lỗi ở đâu?
    Gửi bởi luan.ktv trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 19-03-2011, 04:36 PM
  4. hỏi về Căn lề các biến(word align)
    Gửi bởi haba trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 16-10-2008, 11:30 PM
  5. [C++] tính căn bậc hai bằng 1 biến
    Gửi bởi Sieg trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 21
    Bài viết cuối: 02-02-2008, 11:44 PM

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