Tại công ty của tôi, gần đây chúng tôi đã chuyển từ VC9 sang VC10.Có phải pha trộn thời gian hoạt động là giải pháp khả thi không?
Chúng tôi di chuyển các dự án của mình nhưng sau đó, người phụ trách nói với chúng tôi rằng chúng tôi sẽ phải giữ một số DLL cơ bản được biên dịch với VC9 trên máy sản xuất của chúng tôi trong một thời gian.
Các tệp DLL này sử dụng các cấu trúc tùy chỉnh, một số trong đó chứa cấu trúc std::vector
, std::map
v.v. Bây giờ, nó đã đến sự chú ý của tôi rằng kích thước của container tiêu chuẩn thay đổi: một số đã lớn hơn, một số đã nhỏ hơn. Kết quả là, kích thước của cấu trúc tùy chỉnh của chúng tôi cũng thay đổi.
Để giải quyết các vấn đề gây ra bởi thay đổi kích thước, đồng nghiệp của tôi nghĩ tăng kích thước của cấu trúc của chúng tôi để bù đắp cho các thay đổi kích thước thành viên trong tương lai. sử dụng, ngăn chặn tham nhũng ngăn xếp trên các cuộc gọi chức năng.
Cá nhân, tôi cảm thấy rằng "giải pháp" này là khủng khiếp bởi vì trong khi kích thước quan trọng thì bố cục của cấu trúc cũng vậy. Với tôi, việc tăng dung lượng bộ nhớ của tất cả các cấu trúc để khắc phục các vấn đề về tổ chức có vẻ thực sự sai.
Để làm cho nó ngắn gọn, câu hỏi của tôi là: thậm chí có thể sử dụng đồng thời hai thời gian khác nhau (sử dụng thủ thuật được mô tả hoặc bất kỳ thủ thuật nào khác) trong khi sử dụng các loại không C trong nguyên mẫu hàm? Bạn có bất kỳ kinh nghiệm tốt/xấu về một tình huống tương tự?
'1.' không phải là một tùy chọn, nhưng' 2.' có thể hoạt động tốt. Cảm ơn bạn rất nhiều vì bài viết được liên kết. – ereOn
@ereOn: Bạn được chào đón. –