# 系統程式設計 - `dup(2)` [TOC] ## 課程影片 ### 系統程式設計 2018 - W3 2 {%youtube p8dIsB-dvW8 %} ## 冷知識 如果去查原始程式碼的話,會發現跟影片內容講得差不多。先查 `fd` 對應的檔案,然後把那個代表檔案的資料結構放在目前行程的 `files`(紀錄開啟檔案的資料結構)中那個紀錄哪個 `fd` 對應哪個檔案的陣列中的第 `fd` 個元素中: ```c SYSCALL_DEFINE1(dup, unsigned int, fildes) { int ret = -EBADF; struct file *file = fget_raw(fildes); if (file) { ret = get_unused_fd_flags(0); if (ret >= 0) fd_install(ret, file); else fput(file); } return ret; } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up