[Linux – C/C++] Lập trình C/C++ trên Ubuntu (Linux)
Có lẽ là đã có quá nhiều bài viết hướng dẫn các bạn lập trình C/C++ trên Ubuntu hoặc Linux nói chung nhưng mình vẫn thấy các bạn hỏi rất nhiều trên các group facebook và cả nhắn tin trực tiếp nữa, đại loại như là “Em mới học (làm việc, cài đặt) Ubuntu, giờ muốn lập trình C trên này thì làm thế nào?” vân vân và vân vân những câu hỏi tương tự.
[qads]
Nội dung
Cài đặt các gói thư viện
Sử dụng gedit và terminal
Sử dụng geany
Sử dụng Code::Block
Sử dụng eclipse
Không hiểu là các bạn không chịu search ông lớn Google hay là các bài viết đó vẫn quá khó khăn để các bạn tìm hiểu nữa. Cả 2 lý do này đều không nên có nhưng dù cho là lý do quái nào đi nữa thì bài viết dưới đây sẽ hướng dẫn các bạn một cách chi tiết về việc cài đặt và làm quen với lập trình C trên Linux theo “các kiểu con đà điều” cho các bạn mới dùng
Cài đặt các gói thư viện
Trước tiên thì các bạn mở terminal lên (Ctrl + Shift + T) chạy lệnh sau để cài các gói thư viện cần thiết cho việc lập trình C/C++ (Cần nhập password)
sudo apt-get install build-essential
Lưu ý: Trong bộ thư viện C trên Linux không có thư viện conio.h và một số thư viện khác như ở trên window. Các bạn có thể tìm trên google các thư viện tương ứng.
Sau khi thực hiện xong lệnh này là chúng ta có thể thực hiện việc lập trình rồi.
Sử dụng gedit và terminal
Mọi chương trình C đều có thể và luôn luôn biên dịch và chạy được bằng terminal. Việc chạy như thế nào thì trước tiên hãy tạo ra một chương trình C đã. Bạn tạo 1 file tên là helloLinux.c bằng cách click chuột phải vào Desktop -> new document -> empty document mở nó ra (mặc định là mở bằng gedit trên Ubuntu) và viết chương trình với nội dung tương tự như sau:
#include <stdio.h> int main(){ printf("Chao mung ban den voi C trong Ubuntun"); }
Và rồi chúng ta mở terminal lên, thực hiện lệnh di chuyển đến Desktop (cd Desktop). Sau đó thực hiện lệnh biên dịch chương trình của chúng ta.
gcc helloLinux.c -o helloLinux
Nếu biên dịch thành công thì nó không báo gì cả và trên Desktop của các bạn xuất hiện thêm một file hình thoi là helloLinux, nếu có lỗi hoặc cảnh báo (cảnh báo là chữ wraing gì đó, lỗi là error).
gcc là mã thông báo chúng ta dung gcc để dịch. gcc để dịch cho C (file *.c), các bạn có thể dùng g++ thay cho gcc (g++ dịch cho C++ (file *.cpp)).
helloLinux.c là file code của chúng ta
-o helloLinux thực hiện thông báo việc xuất ra file chạy tên là helloLinux. Các bạn có thể đặt tên khác (VD -o hello hoặc -o nguyenvanquan7826, …). Nếu không có tham số này tức là chúng ta chỉ chạy lệnh gcc helloLinux.c thì mặc định nó sẽ xuất cho chúng ta file chạy là a.out
Đó mới chỉ là biên dịch thôi @@ còn việc chạy nữa. Để chạy chương trình các bạn thực hiện tiếp lệnh:
./helloLinux
Trên màn hình terminal xuất hiện dòng chữ Chao mung ban den voi C trong Ubuntu
Vậy là xong con ong rồi =)). Tất cả các chương trình của chúng ta đều có thể biên dịch trên terminal và đặc biệt một số dạng (đồ họa,…) cần phải chạy trên terminal mới được.
Sử dụng Geany
Việc thực hiện biên dịch và chạy chương trình trên terminal bằng lệnh có vẻ hơi lâu và mất thời gian thì phải. Giờ chúng ta sẽ tìm hiểu một công cụ hỗ trợ việc lập trình C là Geany. Nó giống như là dev-C trên Windows vậy.
* Cài đặt Geany
Việc cài đặt Geany các bạn có thể dễ dàng thực hiện trong Ubuntu sofware center, biểu tượng ấm trà đang được đun sôi =))
Hoặc các bạn có thể cài trực tiếp bằng lệnh trong terminal:
sudo apt-get install geany
* Sử dụng Geany lập trình C
Sau khi cài xong, khởi động và mở hoặc code 1 chương trình ta có giao diện như thế này
Chức năng của các vùng trong giao diện cũng như các bước thực hiện được miêu tả trong hình trên. Nói chung mọi việc rất là đơn giản =)). Tuy nhiên có một nhược điểm của Geany là việc debug (tìm và sửa lỗi) trên này hơi khó và mình chưa bao giờ thử làm @@.
Sử dụng Code::Block
Việc cài đặt Code::Block tương tự như Geany. Trên Ubuntu software center bạn tìm với từ khóa codeblock, còn cài đặt trong terminal thì chạy lệnh sau:
sudo apt-get install codeblocks
Sau khi cài đặt bạn khởi động lên nó sẽ hiển thị hộp thoại chọn trình biên dịch khi dịch chương trình. Mặc định thì nó dùng Gcc, bạn cứ ấn Ok là xong.
Khởi động lên chúng ta sẽ có giao diện start page của code::Block (ở đây mình vừa cài bản 13.12 trên Ubuntu)
Đến đây thì các bạn có thể thực hiện bình thường giống như trên windows mà các bạn vẫn làm.
Sử dụng Eclipse
* Cài đặt eclipse
Việc sử dụng eclipse để code C/C++ là một giải pháp rất rất tốt vì nó hỗ trợ nhiều thứ như debug dễ dàng, căn chỉnh code đẹp mắt, tránh rất nhiều lỗi khi code vì nó báo lỗi ngay nếu bạn code sai cú pháp hoặc một thứ gì đó có nguy cơ xảy ra lỗi,…
Nếu bạn muốn cài đặt một bản eclipse có thể lập trình nhiều thứ (như java, android) thì hãy xem cách cài đặt eclipse ở đây hoặc đã cài đặt rồi thì tốt quá ^^. Nhưng nếu như bạn chỉ muốn cài eclipse để lập trình C/C++ thôi thì hãy vào đây và download eclipse cho C/C++
Nếu dùng eclipse for C/C++ thì chỉ cần down về và giải nén ra là xong. Nếu bạn sử dụng eclipse chuẩn ở cách 1 thì phải cài thêm Eclipse CDT (C/C++ development tools) để có thể lập trình C/C++ như sau:
Vào menu Help -> Install New Software
Cửa sổ dưới đây hiện ra bạn chọn Add và chọn một trong số các link sau tương ứng với bản eclipse bạn đang dùng (ở đây eclipse của mình là Kepler, để biết bạn dùng eclipse gì vào Help -> About)
Eclipse 4.3 (Kepler): http://download.eclipse.org/releases/kepler
Eclipse 4.2 (Juno): http://download.eclipse.org/releases/juno
Eclipse 3.7 (Indigo): http://download.eclipse.org/releases/indigo
Eclipse 3.6 (Helios): http://download.eclipse.org/releases/helios
Eclipse 3.5 (Galileo): http://download.eclipse.org/releases/galileo
Đợi một chút nó load các plugin, nhìn bảng bên dưới tìm đến Programming Language và chọn C/C++ Development Tools sau đó “Next” -> … -> “Finish”
* Tạo project và chạy chương trình đầu tiên
Mở eclipse lên vào File -> New Project -> C/C++ Project và chọn C hoặc C++ project bạn muốn tạo.
Nhập tên project và next. Chọn project trống hoặc hello world và finish
Xong ta được project và đoạn code hello world.
Muốn chạy bạn dịch chuơng trình trước bằng cách vào menu Project -> Build Project hoặc Build All Sau đó thì ấn nút Run để chạy nếu không sẽ báo lỗi Launch Failed: Binary not found
Đọc xong bài này chắc các bạn cũng thây mết con nhà mệt. Mềnh viết còn mệt nữa là =)). Nhưng cố gắng đọc thêm các bài sau nhé ^^
Đồ họa C trên Linux
Chuột trong C trên Linux
với fedora thì sao hả bác, em không cài được gói build-essential, nó báo không tìm thấy, em biết có thể dùng eclipse hay blockcode nhưng thầy em bắt biên dịch bằng gcc nên bắt buộc ạ
Fedora mình chưa thử nhưng bạn có thể dùng lệnh này:
Anh cho em hỏi sao khi đánh dòng lệnh build-essential vào máy tính hỏi password thì em không thể đánh mật khẩu vào được
Bạn đánh vào nó vẫn nhập, nhưng không hiện ra đó thôi.
nhưng khi nhấn enter thì nó bảo là mật khẩu sai. Mình cũng không thể sử dụng mật khẩu để đăng nhập vào các trình quản lí. Bạn có cách giải quyết ko
Vậy bạn có chắc chắn đã nhập mật khẩu chính xác?
Nếu không thể nhớ mất khẩu thì mình cũng chưa có biết cách nào cả.
nhấn alt và enter nhé, nhập mật khẩu vô cũng không được đâu
chắc chắn chính xác, vì khi mình khóa màn hình thì dùng mật khẩu này bật lại vẫn đc. Chỉ có các trình quản lí và thiết bị cuối là ko vào đc
Vậy mình cũng không rõ nữa.
Mọi người cho mình hỏi khi dùng Eclipse CDT để lập trình C/C++ thì luôn bị báo lỗi ở using namespace std; cout, cin, endl,… mặc dù cuối cùng thì vẵn có thể chạy được chương trình, Mọi người chỉ cho mình cách khắc phục. saobanghd94@gmail.com
Cái này thì chưa gặp bao giờ nhưng đã bị lỗi này… không biết giống của bạn không…
https://www.cachhoc.net/2013/08/27/cc-launch-failed-binary-not-found-eclipse/
ko biet minh thieu gi, ma minh dung geany thi phan bien dich chuong trinh bi an?
Cái này mình không rõ, nếu được bạn gửi thông tin teamview cho mình qua face: fb.com/nguyenvanquan7826 mình xem cho nhé.
Bạn cho mình hỏi mình cài Ubuntu trên máy ảo để làm bài tập C nhưng sao sử dụng các dòng lệnh trên Terminal nó đều báo lỗi không tìm thấy là sao ạ? Tks bạn!!
Không tìm thấy ah bạn. Có lẽ khi cài xong bạn chưa update nó. Thường thì cài xong ubuntu mình cần update để có thể tải được những ứng dụng mới cũng như add được những thư viện mới ra. Bạn thử xem sao.
Tks bạn. Mình đã làm đc. Bạn cho mình hỏi nó báo lỗi gì khi biên dịch đây ạ? file:///C:/Users/LAN%20ANH/Downloads/Loi%20bai3.png
Mình không xem được hình bạn gửi.
Các anh giúp em chút với ạ. Em xin cảm ơn.
Khi chạy chương trình Hello.. thì nó báo Launching delegate và chỉ được 47% (như hình dưới).
https://www.dropbox.com/s/0nczdva8deab5z4/Untitled.jpg?dl=0
Em đã tìm ra nguyên nhân rồi. Do phần mềm diệt virus Avast.
Thanks!
Ban Q cho hoi minh muon chay c trong linux, hien thi vay chay ket qua tren web minh can lam the nao ?
Q co the giup minh ?, thanks
VD chay giong vi 3 chuong 6
https://www.wattpad.com/3861046-45-cau-linux-b%C3%A0i-gi%E1%BA%A3ng-c%C3%B4-ti%C3%AAn-full
Mình không hiểu câu hổ của bạn lắm 🙁
mọi người cho mình hỏi, mình viết c thì chạy trên terminal dc mà khi viết sang c++ có dùng thư viên iostream mà khi biên dịch nó kêu tập tinn không tồn tại,không hiểu thư viện hay sao ak
Khi viết c++ bạn nhớ biên dịch bằng lệnh g++
mình gõ “sudo apt-get install gcc” mà nó báo k có lệnh apt-get thì sao đây?
Bạn dùng ubuntu hay dùng cái nào vậy bạn? Nếu ubuntu thì chắc chắn sẽ có, còn fedola,… thì lệnh khác nhé.
sao mình giải nén k đc
Giải nén gì vậy bạn
anh ơi , gcc có thể build floder được không anh , build nhiêu file trên một dòng mệt lắm
Anh Quân, ơi.. DevC không dùng được trong Ubuntu sao anh..?
em cài codeblocks bị lỗi :((
trang này không gửi ảnh được em gửi qua fb nhé..
Ubutu thì dùng các cái trong bài viêt đi.