Làm cách nào để có GCC và Make để chỉ sử dụng RAM?


0

Tôi đang biên dịch một dự án C ++ bằng GCC và Make. Tôi sử dụng một ramdisk cho việc này vì nó xây dựng nhanh hơn theo cách đó và để giảm số lượng ghi vào ổ SSD của tôi.

Tôi đã nhận thấy rằng, mặc dù đã chuyển dự án sang ramdisk trước khi xây dựng, tôi vẫn nhận được ghi trên ổ SSD của mình. Tôi phải xây dựng nó nhiều lần trong ngày và điều này sẽ tăng lên nhanh chóng, giảm tuổi thọ SSD.

Có cách nào để tạo GCC và Make độc ​​quyền sử dụng ramdisk của tôi không?

Tôi đã thử tùy chọn -pipe nhưng nó vẫn ghi vào ổ SSD của tôi thay vì chỉ bộ nhớ.

Tôi cũng đã thử tùy chọn --save-temps = obj. Điều này hoạt động, nhưng các tệp tạm thời có kích thước lớn và ramdisk của tôi được đầy đủ khá nhanh. Không có các tệp tạm thời, tôi có đủ bộ nhớ cho việc này, nhưng xóa thủ công chúng sau mỗi lần xây dựng trở nên tẻ nhạt.

Có cách nào để làm điều này mà không cần sử dụng nhiều RAM không? Giống như có các tệp tạm thời được lưu nhưng bị xóa ngay lập tức sau khi chúng không còn cần thiết.


Bạn có hiểu, ghi trên SSD, là các tệp tạm thời được tạo. Các tập tin tạm thời, nên được xóa sau khi hoàn thành biên dịch, điều đó không xảy ra?
Ramhound

Điều làm tôi ngạc nhiên là ngay cả cho đến ngày nay, mọi người vẫn sợ ghi vào SSD của họ. Tôi viết nhiều gigabyte mỗi ngày vào ổ SSD của mình. Ive đã lái xe 4 năm và nó có 98% sức khỏe. Bạn sẽ thay thế máy tính của bạn trước khi bạn cần thay thế SSD.
Keltari

@Ramhound Có tôi biết. Tôi muốn điều tương tự xảy ra nhưng thay vào đó trên ramdisk.
RCr

@Keltari Tôi đang viết vài trăm GB mỗi ngày. Số lượng ghi tối đa cho SSD là 180TB vì vậy nó sẽ không tồn tại lâu hơn 2-3 năm nếu tôi tiếp tục như thế này.
RCr

@rcr - Nhưng bạn đã làm cho các tệp tạm thời ghi vào đĩa RAM, nhưng nó đã lấp đầy đĩa, âm thanh như bạn cần một cái gì đó khác sau đó chỉ là SSD của bạn để lưu trữ các tệp tại. Tôi giả sử bạn đã chạy gcc -save-temps=obj -o dir/foo.o foo.câm thanh giống như trường hợp bạn có thể tạo tập lệnh bat biên dịch sau đó xóa tệp tạm thời sau khi biên dịch xong.
Ramhound
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.