2012-02-27 22 views
6

Tôi sẽ viết một Lexical mà sẽ là một phần của một mô-đun hạt nhân, trong đó tôi sẽ phân tích cú pháp một tệp và trả về mã thông báo. Đối với điều đó, tôi có thể cần phải sử dụng các chức năng như fopen, getc, putc, fseek vv rõ ràng là chức năng không gian của người dùng. Tôi đã tìm kiếm các lựa chọn thay thế cho các chức năng này trong không gian hạt nhân và tôi tìm thấy các chức năng như mở, filp_open, sys_open v.v. mà tôi đoán là sẽ ổn cho tôi. Nhưng những gì tôi muốn biết là liệu các chức năng như getc, putc, tìm kiếm vv (có thể rất tiện dụng trong các hoạt động tệp), có sẵn trong không gian hạt nhân không?Các hàm hoạt động tệp C đơn giản như getc, putc và tìm kiếm có sẵn trong nhân Linux không?

+2

Tại sao bạn muốn đặt mã này vào hạt nhân ngay từ đầu? – Nobody

+0

Tôi nghĩ mở là cuộc gọi hệ thống. –

+0

@Nobody Tôi đang viết một mô-đun hạt nhân sẽ yêu cầu phân tích cú pháp tệp cấu hình cho một số chức năng. –

Trả lời

5

Không.

Đọc tệp và đặc biệt là tệp cấu hình phức tạp, không phải là thứ nên được thực hiện từ hạt nhân.

Có rất nhiều thông tin về lý do tại sao đây là một ý tưởng tồi. The KernelNewbies FAQ là một khởi đầu tốt.

Thực sự, thực sự không làm điều này. Tôi tích hợp rất nhiều mã nhà cung cấp (hạt nhân), và đây là một trong những sai lầm mà giữ đến và cắn chúng tôi. Học cách làm đúng cách ngay từ đầu.

+3

Vì vậy, sau khi một ai đó (... với nhiều thập kỷ kinh nghiệm hạt nhân ...) được kết thúc tham chiếu đó và kết luận rằng đối với sản phẩm được nhúng của họ là cách duy nhất để làm "nó" là bỏ qua lời khuyên "Đừng", điều đó xảy ra như thế nào? Không phải lo lắng - tôi có thể đọc nguồn. Tôi chỉ mệt mỏi với câu trả lời như "Không" ở đây. Hoàn toàn không hữu ích. Tôi muốn bình chọn câu trả lời của bạn nhưng tôi quá bận để bấm nút "Xuống" ... –

+0

Xem, tôi có thể đồng ý rằng đôi khi cần thiết (như cho máy chủ NFS), nhưng tôi cũng nghĩ bạn đồng ý rằng " Đừng "thực sự là câu trả lời Jewel Thief cần phải nghe. Tôi muốn thêm một liên kết vào một mô tả ngắn gọn, nhưng bất kỳ ai * thực sự * cần nó sẽ tìm thấy nó trong 5 phút, và nó chỉ khuyến khích những người không nên làm điều đó để làm điều đó. –

+2

Không, tôi không đồng ý rằng "Không" là câu trả lời chính xác ở đây vì điều đó nghe có vẻ quá giống như chúng tôi là một nhóm các Nannies đang cố gắng giữ OP khỏi việc phá vỡ máy của họ. Lý giải của bạn rằng "Không" là okay bởi vì chúng ta có thể tìm thấy nó trong 5 phút smacks của elitism. Vâng, nếu tôi không muốn dành 5 hoặc 10 hoặc 20 hoặc ... phút đào lên và tôi là một trong những "ưu tú", bởi vì tôi thực sự là - đã làm công việc hạt nhân UNIX đầu tiên của tôi vào năm 1981 . –

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