2012-08-14 24 views
7

Tôi đã có kinh nghiệm sử dụng Visual Studio cho đến bây giờ. Nhưng tôi dự định sử dụng một vài công cụ Linux để phát triển và duy trì các ứng dụng được viết bằng C.Các công cụ và lệnh quan trọng và tiện dụng trong khi phát triển các ứng dụng C trong Linux

Tôi đã xem kỹ số này question nhưng nó nói quá nhiều về IDE. Tôi rất vui khi sử dụng chúng nhưng tôi muốn biết những công cụ nào khác tiện dụng và quan trọng đối với bài tập trên. Tôi cũng muốn biết trong trường hợp có bất kỳ lệnh nào có thể làm mọi thứ trở nên dễ dàng. Cảm ơn!

EDIT: Tôi đã sử dụng vim và quen thuộc với gcc và các cờ quan trọng của nó. bất cứ điều gì hơn nữa sẽ giúp đỡ.

+0

Tự hỏi liệu câu hỏi này có phù hợp hơn với cộng đồng wiki hay không. –

Trả lời

11

Bạn sẽ muốn tự làm quen với các công cụ dòng lệnh linux. Đặc biệt:

  • Tìm hiểu một trình soạn thảo tốt như vim hoặc emacs
  • Script của bạn được xây dựng sử dụng make
  • Compile sử dụng gcc
  • gỡ lỗi sử dụng kiểm soát gdb
  • Nguồn: nếu bạn có sự sang trọng của chọn một, tôi đề nghị một DVCS hiện đại như git hoặc mercurial. Nếu không, bất cứ công cụ nào mà nhóm của bạn đang sử dụng đều ổn.

Điều này chỉ làm xước bề mặt của các yếu tố cần thiết, nhưng nó có thể giúp bạn bắt đầu.


Những công cụ này cũng rất hữu ích:

  • grep - Bạn cần một cách tốt để tìm kiếm thông qua các tập tin nguồn. Lệnh này được tích hợp với vim và emacs (?) Vì vậy bạn có thể muốn sử dụng nó trực tiếp từ trình soạn thảo của bạn trong hầu hết các trường hợp.
  • ctags - Như những người khác đã nói, điều này sẽ làm cho nó nhiều dễ dàng điều hướng hơn thông qua mã nguồn từ trình chỉnh sửa của bạn. Một lần nữa, tham khảo ý kiến ​​biên tập viên của bạn cho chính xác làm thế nào để làm việc với ctags.
  • valgrind - Để tìm rò rỉ bộ nhớ trong ứng dụng của bạn.
  • lint - Công cụ phân tích tĩnh như splint để tìm lỗi mã hóa trong mã C của bạn.
  • rpm này hay cách khác hệ thống bao bì - Tùy thuộc vào cách bạn sẽ triển khai ứng dụng, bạn có thể muốn sử dụng một trình quản lý gói để giúp đỡ với phiên bản, cài đặt/nâng cấp kịch bản vv
  • screen - Một bộ đa thiết bị đầu cuối cho phép bạn chia thiết bị đầu cuối của bạn để bạn có thể (ví dụ) xem mã nguồn của bạn trong một cửa sổ và gỡ lỗi/thực hiện/tìm kiếm các bản ghi khác. Điều này cũng thuận tiện nếu bạn phải kết nối với bất kỳ máy từ xa nào bạn đang hỗ trợ, vì nếu bạn bị ngắt kết nối, bạn chỉ có thể kết nối lại với phiên màn hình từ xa sau đó mà không phải lo lắng về tất cả các lệnh bị chấm dứt. Ví dụ, nếu bạn đang ở giữa một số yum update bạn không phải lo lắng về việc nó bị chấm dứt giữa giao dịch chỉ vì kết nối của bạn đã bị cắt đứt.
  • ssh/sftp/etc - Để sao chép tệp một cách an toàn vào các máy kiểm tra/sản xuất của bạn, nếu cần.
+0

vâng cảm ơn! Tôi đã sử dụng vim và quen thuộc với gcc và các lá cờ quan trọng của nó. bất cứ điều gì hơn nữa sẽ giúp đỡ. Cảm ơn! – Shash

+0

@Shash - Không sao, tôi đã thêm một số công cụ khác cho bạn :) –

+1

+1 cho 'màn hình' (và +1 lần nữa cho' ssh') – pmg

1

Bạn cần để có thể tìm công cụ trong codebase của bạn, và cho rằng tôi khuyên bạn nên:

  1. ack. Nó giống như một sự kết hợp find/grep, nhưng dễ sử dụng hơn, hữu ích hơn nhiều và hướng trực tiếp tới các lập trình viên.
  2. ctags. Nó sẽ giúp bạn điều hướng thông qua codebase của bạn thông qua trình soạn thảo của bạn (vi/emacs, vv) trong một thời trang tương tự như IDE (xử lý mã như một bộ siêu liên kết)
2

Sử dụng terminator cho nhiều thuật ngữ và dễ dàng chuyển đổi trong khi sử dụng processus hoặc htop.

Tôi đề nghị emacs (-nw) hoặc vi

Gcc để biên dịch mã C của bạn.

Bạn cũng muốn sử dụng GDB để gỡ lỗi.

Valgrind để kiểm tra rò rỉ và memory dump

6

công cụ này rất hữu ích khi phát triển trong C trong Linux:

  1. IDE: Vim với solarized chủ đề (http://ethanschoonover.com/). CtgasTaglist để di chuyển một cách dễ dàng thông qua mã của bạn (http://www.thegeekstuff.com/2009/04/ctags-taglist-vi-vim-editor-as-sourece-code-browser/)
  2. Để biên dịch và dubugging gcc, gdb, make
  3. Đối với các dự án lớn: AUTOCONF, AUTOMAKE, và LIBTOOL
  4. Để kiểm tra cho tất cả những thứ liên quan đến bộ nhớ: Valgrind Để kiểm tra chức năng tiêu thụ thời gian CPU Callgrind (http://valgrind.org/info/tools.html) Và trên toàn cầu Valgrind's Tool Suite (http://valgrind.org/info/tools.html) là một công cụ tuyệt vời
  5. Đối với mã chất lượng cao: GNU gcov (Test bảo hiểm), đây là một bài viết tuyệt vời về thử nghiệm và mã C chất lượng cao (http://aleccolocco.blogspot.fr/2009/08/sqlite-lesson-in-low-defect-software.html)
  6. GNU locate: Để tìm một cách dễ dàng tất cả các file
  7. Git cho cấu hình mã nguồn
  8. Doxygen : để tạo ra tài liệu cho mã
  9. Nếu bạn phát triển các chương trình mạng: wireshrak, tcpdump
  10. Esaily điều khiển các mã hạt nhân với LXR (http://lxr.linux.no) (http://www.ittc.ku.edu/~niehaus/classes/800-s04/notes/setup_lxr.txt)
  11. Strace để theo dõi các cuộc gọi hệ thống (Nó luôn luôn là một công cụ tốt để chương trình gỡ lỗi rằng file cấu hình mở)

MAN PAGES là công cụ tốt nhất

Và rất nhiều thứ tốt khác: -

+0

danh sách tuyệt vời .. Cảm ơn! – Shash

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