5
Tôi sử dụng execv
thay vì execl
. Để sử dụng execv
, tôi tạo một mảng và đặt đối số mà tôi sử dụng với execl
trong đó. Sau đó, tôi đặt mảng này vào execv
Sự khác biệt giữa execl và execv là gì?
Tôi biết tôi phải sử dụng một loạt đối số cho execv
nhưng tại sao? Sự khác nhau giữa execl
và execv
là gì?
Tại sao chúng ta cần thay đổi định dạng của đối số? Tôi có nghĩa là nếu họ đang làm điều tương tự –
Lệnh gọi hệ thống 'execve()' (và 'execv()') lấy các đối số trong một mảng. 'execl()' chỉ được cung cấp như một sự tiện lợi, trong trường hợp bạn có một số đối số cố định, để cho phép bạn tránh được sự cố khi thiết lập một mảng. 'execl()' sẽ lưu các đối số hàm trong một mảng tạm thời và sau đó thực hiện cuộc gọi hệ thống. Nếu bạn tự thiết lập mảng đối số thì bạn không cần 'execl()'. – mark4o