Khác biệt khi code c trên linux và trên windows

Câu hỏi này mình cũng gặp nhiều, sẵn đây mời anh em chia sẻ thêm lý do anh em dùng hai nền tảng này mà không phải là Windows cho công việc của mình nhé.

1. Thiết lập môi trường dễ dàng hơn


Trước khi bạn làm những thứ về code, bạn sẽ cần phải thiết lập môi trường để làm việc trên đó. Thường thì môi trường này không phải chỉ đơn giản là 1 phần mềm download về cài là xong, nó phải setup qua nhiều bước khác nhau và ở khúc này mình thấy làm trên Mac tiện hơn, đặc biệt là những thứ cần dùng tới dòng lệnh.

Và sẵn nói tới dòng lệnh, do bản chất của macOS và Linux đều chung một hệ thống *nix nên các cú pháp lệnh giống y như nhau, sự khác biệt là rất nhỏ và trong đa số trường hợp điều đó không làm ảnh hưởng gì. Mà các công cụ lập trình thì lại thường phải dùng dòng lệnh mới ngon chứ không phải cái nào cũng có giao diện đồ họa cho bạn sử dụng. Terminal [ứng dụng để bạn gõ lệnh vào] là một trong các app được developer mở nhiều nhất, thậm chí muốn chạy một cái web cũng cần Terminal nữa mà.

Quảng cáo


Khi đưa sản phẩm của bạn lên server, khả năng cao server đó cũng chạy một distro Linux nên sự tương đồng giữa máy tính cá nhân với server sẽ giúp công việc của bạn diễn ra nhanh chóng hơn và ít phát sinh lỗi bất ngờ hơn.

Trên Windows bạn cũng có thể chạy được dòng lệnh kiểu này nhưng phải sử dụng các tool khác, không phải là trải nghiệm có sẵn từ gốc. Ngay cả cấu trúc tổ chức file cũng đã khác nhau rồi nên khi thao tác sẽ khó hơn.

2. Một số phần mềm không có bản cho Windows

Ví dụ dễ thấy, khi bạn làm web, app thì bạn phải nói chuyện với designer, mà các bạn UI, UX designer hiện xài Sketch khá nhiều để vẽ vời. Ứng dụng Sketch thì lại chỉ có cho macOS, không có bản cho Windows nên để dễ đọc, dễ xem kích thước và xuất các file ảnh thì máy của developer cũng cần có Sketch.

Nhiều công cụ lập trình cũng được sinh ra cho macOS và Linux trước khi có bản dành cho Windows, hoặc chỉ đơn giản là việc cài đặt cho Win đòi hỏi bạn phải làm thêm một số bước trong khi cách cài bên macOS và Linux dễ hơn nhiều.

Và có những thứ đặc thù không thể cài lên Windows, ví dụ như Xcode để làm app cho iOS chẳng hạn. Bạn vẫn có thể code được app cho iOS trên Windows, nhưng trải nghiệm test, build ngon nhất thì đương nhiên phải dùng app rồi.


Tất nhiên ở phía ngược lại, khi bạn làm phần mềm cho Windows thì bạn vẫn phải cần các công cụ đặc thù, cái này thì cũng tương tự như code cho iOS vậy. Việc lựa chọn công cụ này phụ thuộc nhiều vào việc bạn cần làm là gì.

Mac còn được cái lợi thế là có thể cài Win lên dễ dàng nên cần dev cho Win vẫn ngon lành, trong khi máy Win thì cài macOS rất cực khổ và mất thời gian, thậm chí là không thể cài được, lại còn xung đột phần cứng và đủ thứ vấn đề khác. Nếu để làm việc thật sự thì hackintosh cài trên máy Win không phải là giải pháp ngon và dành cho mọi người.

Quảng cáo



3. Trải nghiệm tốt hơn

Trải nghiệm ở đây khá là chung chung và nó sẽ khác nhau tùy mỗi người, nhưng mình thích làm việc với macOS vì nó đơn giản, sáng sủa hơn so với Windows. Mình cũng cảm thấy tin tưởng chiếc MacBook của mình hơn so với các máy Win khác, cần là có, mở ra là chạy, gần như không có độ trễ.

Và mình cũng thích cách mà macOS render chữ lên màn hình, nhìn nó mịn đẹp hơn so với Windows dù bạn sử dụng cùng 1 loại màn hình. Sự khác biệt này đến từ cách mà hệ điều hành vẽ chữ ra cho bạn xem chứ không phải do font hay do phần cứng. Trong 2 bản update gần đây Windows 10 đã làm chuyện này tốt hơn trước nhiều.

macOS cũng ít bị lỗi lạ hơn, ít bị xung đột hơn. Hồi còn xài Windows thỉnh thoảng mình bị các lỗi kì quái khi không chạy được 1 phần mềm hay công cụ nào đó, mà không biết làm sao để sửa. Chỉ có cách cài lại máy mà thôi. Mấy thứ như thế này khá là khó chịu.

Cuối cùng là cộng đồng, do cộng đồng developer xài Mac nhiều nên khi gặp lỗi, gặp sự cố thì dễ hỏi Google hơn và khả năng cao là có ai đó cũng bị lỗi giống bạn và đã được người khác chỉ cách khắc phục rồi.

Còn bạn thì sao?

Quảng cáo

Thôi, theo bài #211 thì bác ấy đã công nhận là lõi nóng chảy chuyển động không ảnh hưởng nhiều tới sự tự quay của trái đất là được rồi, "gợi làm gì chuyện đau thương dĩ vãng nữa, chuyện xưa cũ cứ để nó... trôi/quay theo ngày...

Hướng dẫn cách cài đặt trình biên dịch GCC trên Linux và cách viết 1 chương trình C cơ bản trên Linux.

Nội dung chính Show

  • Cài đặt GCC trên Linux
  • Hello World với chương trình C đầu tiên bằng trình biên dịch GCC
  • 1. Làm thế nào để biên dịch và chạy chương trình C/C ++ trên Linux
  • 2. Biên dịch và chạy một chương trình C ++ đơn giản

GCC [GNU Compiler Collection] là một tập hợp các trình biên dịch cho các ngôn ngữ lập trình khác nhau như C, C++, ... GCC hiện tại có thể cài trực tiếp trên hệ điều hành Linux hoặc thông qua môi trường Linux trên Windows 10.

Cài đặt GCC trên Linux

Mở Terminal trên Linux hoặc Bash on Unbutu on Windows một giao diện tương tự xuất hiện - 1 số máy sử dụng hệ điều hành không có giao diện đồ họa thì bản đã như màn hình bên dưới:

Tiến hành kiểm tra liệu GCC đã được cài đặt trên thiết bị chưa với câu lệnh sau

gcc -v

Tôi là một người dùng Linux mới và sinh viên đã từng viết các chương trình C hoặc C ++ trên MS-Windows. Bây giờ, tôi đang sử dụng Ubuntu Linux và đang tự hỏi không biết làm thế nào để tôi có thể biên dịch một chương trình C hoặc C ++ trên các hệ điều hành Linux bằng cách sử dụng ứng dụng bash Terminal?

Câu trả lời đó là để biên dịch chương trình C hoặc C ++ trên bất kỳ bản phân phối Linux nào như Ubuntu, Red Hat, Fedora, Debian và bản phân phối Linux khác mà bạn cần phải cài đặt:

  • Bộ sưu tập trình biên dịch GNU C và C ++.

  • Công cụ phát triển.

  • Thư viện phát triển.

  • IDE hoặc trình soạn thảo văn bản để viết chương trình.

Bước 1: Cài đặt trình biên dịch C/C ++ và các công cụ liên quan

Nếu bạn đang sử dụng Fedora, Red Hat, CentOS hoặc Scientific Linux , hãy sử dụng lệnh yum sau đây để cài đặt trình biên dịch GNU C/C ++:

# yum groupinstall 'Development Tools'

Nếu bạn đang sử dụng Debian hoặc Ubuntu Linux , gõ lệnh apt-get sau đây để cài đặt GNU C/C ++ trình biên dịch:

$ sudo apt-get update

$ sudo apt-get install build-essential manpages-dev

Bước 2: Xác minh cài đặt

Gõ lệnh sau đây để hiển thị số phiên bản và vị trí của trình biên dịch trên Linux: Kết quả đầu ra mẫu:

$ whereis gcc

$ which gcc

$ gcc –version

Hình 01: Trình biên dịch GNU C / C ++ trên Linux

1. Làm thế nào để biên dịch và chạy chương trình C/C ++ trên Linux

Tạo một tệp có tên là demo.c bằng cách sử dụng trình soạn thảo văn bản như vi, emacs hoặc joe:

#include

/* demo.c:  My first C program on a Linux */

int main[void]

{

printf["Hello! This is a test prgoram.\n"];

return 0;

}

Sử dụng bất kỳ cú pháp nào sau đây để biên dịch chương trình có tên là demo.c:

cc program-source-code.c -o executable-file-name

hoặc:

gcc program-source-code.c -o executable-file-name

hoặc:

## assuming that executable-file-name.c exists ##

make executable-file-name

Trong ví dụ này, biên dịch demo.c, nhập:

cc     demo.c  -o demo

hoặc:

## assuming demo.c exists in the current directory ##

make demo

Nếu không có lỗi trong mã của bạn hoặc chương trình C thì trình biên dịch sẽ tạo thành công một tệp thi hành được gọi là bản demo trong thư mục hiện tại, nếu không bạn cần sửa mã. Để xác minh điều này, hãy nhập:

Chủ Đề