cuốn sách gpt4 ai đã làm

Có cách nào khác để thực thi nhị phân ngoài system()

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 23:15:49 26 4
mua khóa gpt4 Nike

Tôi đã phát triển mã C trên Linux và tôi muốn thực thi chương trình nhị phân như /usr/sbin/binary_program -p xxx, Ngoài hệ thống() Có cách nào khác > để gọi nhị phân thực thi không?

câu trả lời hay nhất

Có, nói chung là không bao giờ sử dụng hệ thống, ít nhất là vì những lý do sau:

  • Nó gặp phải tất cả sự nguy hiểm của các vấn đề trích dẫn shell, vì vậy bất kỳ thứ gì khác ngoài dòng lệnh được mã hóa cứng đều có khả năng nguy hiểm.
  • Nó không phải là chủ đề an toàn.
  • Nó cản trở việc xử lý tín hiệu trong chương trình gọi điện.
  • Nó không cung cấp cách lấy đầu ra từ một chương trình đã thực thi ngoài trạng thái thoát, trừ khi lệnh lưu rõ ràng đầu ra vào một tệp.

Để thực hiện một chương trình bên ngoài, bạn nên sử dụng posix_spawn,hoặc cái nĩa gót chân người điều hành Một trong chuỗi các chức năng. Tuy nhiên, nếu có thể, bạn nên tránh dựa vào các chương trình/lệnh bên ngoài, đặc biệt khi việc thực hiện công việc trực tiếp trong chương trình của bạn sẽ dễ dàng hơn và ít xảy ra lỗi hơn. Ví dụ, tôi đã thấy một cái gì đó như system("ngủ 1"); thay vì ngủ(1); Cách sử dụng buồn cười.

Về c - có cách nào khác để thực thi nhị phân ngoài system() không, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/18087913/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress