Lập trình C/Cần gì trước khi học C
Yêu cầu kiến thức
sửaMục đích của cuốn sách này là giới thiệu cho bạn về ngôn ngữ lập trình C. Cuốn sách không yêu cầu hiểu biết đặc biệt nào, nhưng giả định rằng người đọc có kiến thức cơ bản về máy tính.
Các phần mềm cần có
sửaNếu bạn mới bắt đầu làm quen với công việc lập trình, sử dụng một môi trường phát triển tích hợp sẽ là một sự lựa chọn hợp lí. Tuy nhiên chúng ta hãy tìm hiểu cần tối thiểu những chương trình tối thiểu để có thể lập trình C. Đó là một trình soạn thảo văn bản (text editor) (không phải là trình xử lí văn bản - word processor) và một trình biên dịch (compiler).
Trình soạn thảo văn bản chỉ cho ra tệp văn bản thô (không có dữ liệu khác ngoài dữ liệu về văn bản) và sẽ được chúng ta sử dụng để viết mã nguồn của chương trình, còn các trình xử lí thường cho ra tệp có chứa thêm các dữ liệu khác (chẳng hạn dữ liệu chứa thông tin về quy cách định dạng) bên cạnh dữ liệu văn bản. Có rất nhiều trình soạn thảo văn bản. Một trong số đó (và có lẽ quen thuộc nhất với người Việt) là Notepad, ngoài ra còn có vi, vim hoặc Emacs... Tuy nhiên bạn nên dùng một trình soạn thảo văn bản có chức năng tô sáng cú pháp, vì nó sẽ giúp việc đọc mã nguồn (mã chương trình ở dạng ngôn ngữ lập trình bậc cao) trở nên dễ dàng hơn, cũng như dễ phát hiện các lỗi cú pháp.
Nếu bạn quyết định dùng một trình soạn thảo rời như ở trên, bạn sẽ cần một trình biên dịch C. Một trình biên dịch là một chương trình chuyển đổi mã nguồn thành mã máy (mã chương trình ở dạng mà máy có thể trực tiếp "hiểu" và thực hiện được). Thực tế thì trình biên dịch theo đúng nghĩa của nó chỉ xử lí một giai đoạn của quá trình trên mà chúng ta sẽ đề cập chi tiết sau.
Một số trình dịch C phổ biến:
Nền tảng | Giấy phép | Ghi chú | |||
---|---|---|---|---|---|
Trình phiên dịch Ch | softintegration | Windows, Linux, Mac OSX, FreeBSD, Solaris, AIX, QNX, HP-UX | Phiên bản Standard Edition có thể dùng tự do cho mục đích thương mại | Thân thiện cho người mới bắt đầu | |
OpenWatcom | openwatcom | DOS, Windows, Netware, OS/2 | Nguồn mở | ||
Trình dịch Borland C | cppbuilder | Windows | Phần mềm tự do | ||
Microsoft Visual Studio Express | vstudio | Windows | Miễn phí | Nhẹ, mạnh, là phiên bản thân thiện của một trình dịch tiêu chuẩn công nghiệp | |
Tiny C compiler | tinycc | GNU/Linux, Windows | LGPL | Nhỏ, nhanh, thân thiện với người mới | |
GNU Compiler Collection - GNU C Compiler | gcc | DOS, Cygwin (w32), MinGW (w32), OS/2, Mac OS X, Unix, | GPL | Phân phối kèm theo hầu hết các hệ thống UNIX |
Một môi trường phát triển tích hợp (Intergrated Development Environment - IDE) là một bộ chương trình mà các nhà phát triển cần dùng, được kết hợp thành một gói, thường có giao diện đồ hoạ. Những chương trình này thường bao gồm trình soạn thảo, trình dịch, trình nối và trình gỡ lỗi.
Một số IDE phổ biến:
Nền tảng | Giấy phép | Ghi chú | |||
---|---|---|---|---|---|
CDT | cdt | Windows, Mac OS X, Unix | Nguồn mở | Trình cắm C/C++ cho Eclipse, một IDE nguồn mở phổ biến | |
Anjuta | Anjuta | Unix | GPL | IDE GTK+2 cho môi trường GNOME | |
Geany | geany | Đa nền tảng | GPL | IDE GTK+ dựa trên Scintilla | |
Little C Compiler] | lcc | Windows | Miễn phí khi sử dụng phi thương mại | ||
Xcode | xcode | Mac OS X | Tự do | Tải về sau khi đăng kí trả phí tại Apple Developer Connection hoặc với ai không có đăng kí Apple Developer Connection tại Mac App Store. | |
Pelles C | Pelles C | Windows, Pocket PC | Tự do | ||
Dev C++ | Dev C++ | Windows, Linux (phiên bản alpha) | GPL | ||
Microsoft Visual Studio Express | Visual Studio Express | Windows | Miễn phí | ||
Code::Blocks | Code::Blocks | Windows, Linux, Mac OS X | GPL 3.0 | Được xây dựng trên những yêu cầu phổ biến nhất của người dùng. Khả năng mở rộng lớn và cấu hình đầy đủ. |
Trên hệ thống GNU/LINUX, GCC hầu như luôn luôn có sẵn.
Trên hệ thống Microsoft Windows, Dev-C++ rất đấng được quan tâm với người mới vì nó dễ dùng, miễn phí và dễ cài đặt. Lựa chọn thay thế là Microsoft Visual Studio Express và Code::Blocks, nhưng những chương trình này yêu cầu thiết lập một "dự án" trước khi bắt đầu.
Trên Mac OS X, Xcode cung cấp các trình dịch cần thiết để dịch nhiều tệp nguồn khác nhau. Việc cài đặt Xcode cài cả trình dịch với giao diện lệnh và IDE với giao diện đồ hoạ.
Trong các cuốn sách này, các ví dụ liên quan đến IDE được thực hiện trên Code::Blocks SVN 8086 kèm với bộ trình dịch MinGW 4.7.0 (Code::Blocks không đi kèm theo trình dịch). MinGW là một "bản chuyển đổi" dành cho Windows của bộ trình dịch GCC. Cách cài đặt các chương trình này có tại phụ lục