Nếu bạn đang liên kết tĩnh thời gian chạy, thì tùy chọn khác là viết phiên bản mktemp
của riêng bạn vào một tệp đối tượng. Trình liên kết nên thích phiên bản của bạn hơn phiên bản thời gian chạy.
Chỉnh sửa: Cảm ơn Jason Coco đã chỉ ra một sự hiểu lầm chính mà tôi có trong số mktemp
và người thân của nó. Điều này là một chút dễ dàng hơn để giải quyết ngay bây giờ. Vì trình liên kết sẽ thích một phiên bản trong một tệp đối tượng, bạn chỉ cần viết mktemp
theo điều khoản của mkstemp
.
Những khó khăn duy nhất là làm sạch các bộ mô tả tệp mà mkstemp
sẽ trả lại cho bạn và làm cho mọi thứ đều an toàn. Bạn có thể sử dụng một mảng mô tả tĩnh và một hàm đăng ký atexit
để dọn dẹp nếu bạn có thể đặt giới hạn cho bao nhiêu tệp tạm thời mà bạn cần. Nếu không, chỉ cần sử dụng danh sách được liên kết thay thế.
Nguồn
2009-04-12 18:17:42
Sử dụng mkstemp thay vì mktemp. –
Lý do bạn phải sử dụng mktemp là gì? –