None (2) Flashcards
Được rồi. Đây là CS50, và đây là tuần thứ 2, trong đó chúng ta sẽ xem xét cách mọi thứ hoạt động ở cấp độ thấp hơn,
1:20
và thực sự, trong số các mục tiêu của khóa học là sự hiểu biết từ dưới lên này để trong thời gian vài tuần, thậm chí vài năm,
1:26
khi bạn gặp một số công nghệ mới, hy vọng bạn sẽ có thể nghĩ lại về một số thứ trong tuần này và đây là các khối xây dựng cơ bản và nguyên thủy
1:33
và thực sự chỉ cần suy luận về cách các công nghệ của ngày mai hoạt động.
ciphertext : Đó là kết quả của việc mã hóa một số thông tin.
plaintext : bản rõ
ciphertext : bản mã
assembler output : a.out : đầu ra của trình biên dịch
đối số dòng lệnh : -o A, đầu vào cho lệnh
the name of variable
đối số của hàm
Đối số dòng lệnh, không giống như đối số của hàm, chỉ là một từ bổ sung hoặc cụm từ khóa mà bạn gõ sau một lệnh tại dấu nhắc của bạn trong cửa sổ thiết bị đầu cuối của bạn chỉ sửa đổi hành vi của lệnh đó.
Và bạn sẽ chỉ biết điều này khi đọc sách hướng dẫn, tham gia một lớp học, có nghĩa là đầu ra.
Và đây cũng là một chi tiết mà bạn phải tra cứu trên một trang web, đọc hướng dẫn, nghe ai đó như tôi nói với bạn về nó. Và trên thực tế, còn có nhiều hơn những lựa chọn này, nhưng chúng ta sẽ chỉ làm trầy xước bề mặt ở đây.
bạn thấy trong vài tuần tới có thể không đến từ make, họ đến từ Clang bên dưới mui xe bởi vì make chỉ là quá trình tự động hóa.
Học hiểu những cái bên dưới make giúp mình hiểu bất kỳ lỗi nào đang xảy ra.
Tuy nhiên, nếu bạn thích và bạn muốn được kiểm soát nhiều hơn, bạn hoàn toàn có thể chạy Clang thủ công nếu bạn nhớ các đối số dòng lệnh khác nhau
Make không chỉ dành cho CS50. Nó được sử dụng trên toàn cầu trong bất kỳ dự án nào thực sự hiện nay sử dụng C, C++, thậm chí cả các ngôn ngữ khác.
header file : để dạy cho trình biên dịch biết rằng các hàm tồn tại
bánh xe đào tạo : sẽ dần dần bị loại bỏ
Và ngay cả những lệnh đó, chúng tôi sẽ dần dần loại bỏ các bánh xe huấn luyện để chính xác những gì các lệnh đó cũng đang thực hiện.
Make không chỉ dành cho CS50. Nó được sử dụng trên toàn cầu trong bất kỳ dự án nào thực sự hiện nay sử dụng C, C++, thậm chí cả các ngôn ngữ khác. Trên thực tế, hầu hết mọi lệnh bạn thấy trong lớp này, trừ khi nó có tỷ số 5-0 ở cuối, được sử dụng trên toàn cầu.
nhưng vấn đề là mặc dù điều này thực sự tồn tại,
14:39
dạy Clang rằng get_string tồn tại, nó không đủ thông tin để Clang tìm kiếm trên ổ cứng của máy tính
14:47
số 0 và 1 thực sự tự triển khai get_string.
header file nó thể hiện là các mã 0 và 1 trong quá khứ của các file header file sẽ được thêm vào trong mã máy của chương trình cuối
preprocessing
compiling
assembling
linking
Và đây không phải là những thuật ngữ mà bạn sẽ phải ghi nhớ liên tục bởi vì một lần nữa, chúng ta sẽ trừu tượng hóa rất nhiều điều này.
Preprocessing (Tiền xử lý)
string get_string(string prompt); : nguyên mẫu chức năng
Preprocessing chưa dịch sang nhị phân mà sao chép và dán tất cả các khai báo
hàm trong file .h
chỉ thị tiền xử lý : dấu thăng
./
../
../../
nên được hiểu như là một thư mục
dấu <> thể hiện vị trí thư mục ở thư mục include
dấu “” thể hiện vị trí thư mục ở thư mục hiện tại
Nó sẽ tìm kiếm bất kỳ dòng nào bắt đầu bằng hàm băm. Và nếu nó thấy điều đó, về cơ bản nó sẽ đi vào tệp đó, như cs50.h, sau đó chỉ cần sao chép và dán nội dung của tệp đó kỳ diệu ở đó cho bạn.
Vì vậy, bạn có thể nghĩ về những dòng include này như là trình giữ chỗ tạm thời cho những gì sẽ trở thành một công cụ tìm và thay thế toàn cầu.
Đó là điều đầu tiên clang sẽ làm là xử lý trước tệp này. Nó sẽ tìm kiếm bất kỳ dòng nào bắt đầu bằng hàm băm.
Vì vậy, bạn có thể nghĩ rằng những dòng bao gồm này chỉ là một loại kết hợp tất cả của các khai báo hàm đó trong một số tệp riêng biệt có tên là cs50.h, để bạn không phải gõ chúng mỗi khi bạn sử dụng thư viện–hoặc tệ hơn, để bạn, chính bạn, không phải sao chép và dán những dòng đó.
.h là viết tắt của file header