2009-09-13 41 views
7

Tôi biết có rất nhiều hướng dẫn ở đó để bắt đầu vào C. Tuy nhiên, thật khó để tôi áp dụng kiến ​​thức. Cách tôi luôn bắt đầu bằng ngôn ngữ là viết kịch bản. Tất nhiên C không phải là một ngôn ngữ kịch bản.Bắt đầu bằng C

Câu hỏi của tôi không quá nhiều về việc học C càng nhiều càng tốt về cách bắt đầu áp dụng C. Tuyệt vời Tôi có thể viết bộ chuyển đổi nhiệt độ hoặc rpg dựa trên văn bản. Có lẽ bởi vì trong python, tôi chỉ viết mã trong somefile.py và chmod + x somefile.py & & somefile.py. Tôi không thực sự có một quy trình tương đương cho C. Mỗi khi tôi đọc về C, nó là một quá trình biên dịch khác nhau với các cờ khác nhau. Ai đó có thể chỉ cho tôi một số hướng nhất định về cách tốt nhất để áp dụng C khi bạn đã làm việc với các ngôn ngữ kịch bản động cao cấp hơn không?

Btw. .. Tôi hỏi về C chứ không phải C++.

Tôi thường sử dụng OpenSuse 11 hoặc Ubuntu 9.04. "Trình biên dịch nào tôi sử dụng" là một phần của vấn đề. Trong python không có sự lựa chọn của nó chỉ là "python somefile.py" cùng với php hoặc ruby. Tôi không biết có sự lựa chọn nào.

+0

Nếu mã hóa của bạn trong môi trường Unix, để biên dịch tất cả những gì bạn cần là: gcc -o myprogram myprogram.c – rogeriopvl

+0

Bạn muốn sử dụng hệ điều hành và trình biên dịch C nào? Chúng ta phải biết rằng để cung cấp cho bạn một gợi ý thực hành tốt nhất. –

+0

Đối với các dự án lớn, các cờ được chỉ định trong một * Makefile *, do đó bạn không phải lặp lại một chục bước mỗi khi bạn muốn biên dịch. Bạn chỉ cần chạy 'make 'và đó là nó. Khi các chương trình của bạn sẽ phát triển đủ lớn để chúng có thể được chia thành các thư viện, tôi khuyên bạn nên tìm hiểu một chút về Makefile. Btw, một công cụ xây dựng phổ biến khác là * SCons *. –

Trả lời

4

Như rogeriopvl đã viết trong một nhận xét, quá trình biên dịch thực sự đơn giản. Chỉ cần viết lên mã trong somefile.c và

gcc -o somefile somefile.c && ./somefile 

(nếu bạn đang sử dụng GCC, và nếu không, trình biên dịch của bạn lựa chọn có lẽ có thể được gọi tương tự) Trừ/cho đến khi bạn bắt đầu nhận được vào các dự án phức tạp hơn, nó hầu như không phức tạp hơn một ngôn ngữ kịch bản. (Vâng ... được rồi, bạn có thể cần phải liên kết một số thư viện, một khi bạn vượt ra ngoài những điều cơ bản. Nhưng vẫn không phải là một vấn đề lớn.)

Thực tế, tôi đã tự viết một kịch bản lệnh nhỏ cho phép tôi sử dụng C làm ngôn ngữ kịch bản. Nhưng quá trình thiết lập nó phức tạp hơn một chút so với những gì bạn có thể muốn tham gia ở giai đoạn này - đơn giản hơn là chỉ cần chạy trình biên dịch mỗi lần. Tuy nhiên, nếu bạn quan tâm, tôi có thể tra cứu hướng dẫn (đối với Linux) và đặt chúng ở đây.

+1

Tốt hơn, nếu chương trình của bạn không yêu cầu bất kỳ thư viện bên ngoài hoặc cờ đặc biệt nào (và nếu bạn mới bắt đầu có cơ hội tốt thì bạn không thể viết 'make somefile' tại dòng lệnh và 'make' Các quy tắc ngầm sẽ gọi là 'cc -o somefile somefile.c' cho bạn mặc dù bạn không có 'Makefile'. – hobbs

0

Lời khuyên tốt nhất tôi có thể cung cấp ở đây là tìm chủ đề bạn quan tâm, xem bạn có thể làm một chương bắt đầu mã hóa.

Điều này mang lại tiền thưởng cho việc làm điều gì đó mà bạn quan tâm và đồng thời tạo ra thứ gì đó ảnh hưởng trực tiếp đến nó. Nó sẽ cung cấp cho động lực để tiếp tục hấp với quá trình học tập.

0

Tôi đang làm việc với C rất nhiều tại thời điểm với mô-đun hạt nhân Linux và tương đối mới với C. Tôi đã tìm thấy phần thưởng này mà tôi nghĩ là điều quan trọng đối với loại sở thích này là bộ chuyển đổi nhiệt độ hoặc văn bản sở thích dựa trên rpg 'lập trình loại.

Tôi cũng đấu tranh tìm kiếm một ứng dụng kỹ năng lập trình. Cân bằng thách thức và phần thưởng là điều quan trọng tôi nghĩ.

2

Mã C cần được biên dịch trước khi chương trình có thể chạy. Quá trình chính xác là khác nhau tùy thuộc vào nền tảng và trình biên dịch bạn đang làm việc trên. Đối với hầu hết các phần, sử dụng một IDE (chẳng hạn như Visual studio, Eclipse, MonoDevelop và một nhóm khác) sẽ thực hiện công việc khó chịu cho bạn để bạn chỉ cần nhấn một nút hoặc nhấp vào biểu tượng. Tải xuống một trong các số này

5

write w.c

#include <stdio.h> 

int main(int argc, char *argv[]) { 
    int i; 
    for (i = 0; i < argc; ++i) { 
     printf("Param %d is '%s'\n", i, argv[i]); 
    } 
    return 0; 
} 

và biên dịch với

gcc -Wall -o w w.c 

chạy

./w 
+2

+1 cho -Wall. Tôi cũng sẽ thêm -Wextra và -std = c99 vào hỗn hợp. –

+0

:) -Wall là phải – agsamek

2

Tôi tự hỏi câu hỏi này khi tôi đã học C. Vấn đề ở đây, nếu tôi có thể nói rằng đây là một vấn đề, là C có thể được sử dụng trong một phạm vi rộng các ứng dụng và trong một phạm vi rộng các môi trường, cái nào có IDE hoặc trình biên dịch và thư viện riêng của nó. Một số ví dụ nơi bạn có thể sử dụng C cho nhân viên thực sự.

Phần mềm được nhúng. Trong trường hợp này, bạn có thể sẽ sử dụng một số lib.

lập trình mạng (hãy nhìn vào this book. Phát triển tài xế

Device.

Libraries (cả cho Linux/Windows và các HĐH khác)

Vâng danh sách này là vô tận.

Tôi không biết nếu tôi giúp bạn với câu hỏi này. Nếu bạn cung cấp thêm thông tin chi tiết về những gì bạn quan tâm, có thể hữu ích

Chúc may mắn

Các vấn đề liên quan