2015-07-29 13 views
5

Tôi muốn viết trình điều khiển hạt nhân bằng Visual Studio 2015, vì vậy tôi đã cài đặt Windows 10 SDK và WDK cùng với VS 2015.WDK, intellisense và C: "lỗi dòng lệnh: tùy chọn xử lý ngoại lệ chỉ có thể được sử dụng khi biên dịch trình điều khiển C++"

Tôi đã tạo dự án trình điều khiển hạt nhân trống và main.c bên trong dự án.

Tuy nhiên, IntelliSense không hoạt động và danh sách lỗi cho thấy:

"command-line error: exception handling option can be used only when compiling C++ driver"

Tôi cho rằng VS muốn tôi mã dự án của tôi trên C++ nhưng tôi không muốn viết mã trên C++. Tôi ghét truyền khi phân bổ bộ nhớ vv Có cách giải quyết nào cho vấn đề này không?

Cảm ơn

+0

nếu bạn sử dụng bộ cấp phát bộ nhớ C++ thì bạn không cần phải bỏ ... –

+0

Nhưng tôi có lý do khác không viết C++ trong một dự án như vậy (và làm cách nào tôi có thể chỉ định loại (ví dụ: bộ nhớ được phân trang, không phân trang hoặc người dùng chế độ, bộ nhớ chế độ hạt nhân) thông qua C++ 's cấp phát) –

+0

Nó gần như không bao giờ có ý nghĩa để chọn C trên C + + kể từ khi C + + có thể được viết như là một "tốt hơn C." Không có luật nào nói rằng bạn phải sử dụng cấu trúc OO hoặc bạn không thể sử dụng 'malloc', API bộ nhớ hệ điều hành hoặc bất kỳ thứ gì khác mà bạn chọn. Tôi đã có trình điều khiển bằng văn bản trong C + + rằng bạn sẽ có một thời gian khó nói từ C chỉ bằng cách tìm kiếm, nhưng họ tận hưởng những lợi ích mà C++ mang đến cho bảng. –

Trả lời

0

Cập nhật Visual Studio 2015 1 vừa được phát hành. Vấn đề bây giờ đã biến mất, mọi thứ hoạt động như bình thường.

2

C++ thường không được sử dụng trong trình điều khiển chế độ hạt nhân vì nó không được hỗ trợ. Tôi sử dụng một số C + + trong trình điều khiển của tôi, nhưng đó là ngoại lệ.

Tôi thấy cùng vấn đề này với VS 2015. Chỉ cần tạo một tệp C trống trong dự án của bạn và bạn sẽ thấy phần intellisense (~) ở cột đầu tiên của dòng đầu tiên. Điều này có nghĩa là intellisense cơ bản bị hỏng cho tất cả các tệp nguồn C bây giờ.

+0

Có giải pháp nào cho vấn đề này không?/Do Microsoft biết lỗi này? –

+3

Không có cách giải quyết nào cho bây giờ và đây là báo cáo lỗi: https://connect.microsoft.com/VisualStudio/feedback/details/1623363/error-command-line-error-exception-handling-option-can-be-used- chỉ khi biên dịch-c – AlexPi

-1

Cách giải quyết rõ ràng là tắt IntelliSense.
Trong trình đơn "Công cụ", chọn "Tùy chọn". Sau đó, nhấp vào "Trình chỉnh sửa văn bản", "C/C++", "Nâng cao". Bên trong bảng điều khiển ở bên phải, tìm "InelliSense" và thay đổi giá trị cho "DisableIntelliSense" thành True.

+1

Sau đó, sẽ không có mã hoàn thành ... Nó không phải là một workaround, nó chỉ giống như nói "không sử dụng nếu nó không hoạt động" –

+0

Vâng, nếu mã của bạn doesn ' t biên dịch sau đó bạn không thể sử dụng nó cả. – drimtajm

+0

Xin lỗi, tôi không biết việc xây dựng thành công ngay cả khi IntelliSense đưa ra lỗi. – drimtajm

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