В Windows Driver Kit (WDK) есть примеры кода драйвера, написанные на чистом C, но посыпанные некоторыми конструкциями try-catch-finally. Кто-то знает их семантику? Благодарим microsoft за отличные инструменты и соответствие стандартам.microsoft windows driver kit pure C попробуйте уловить синтаксис?
Код экстракт из some_file.c
:
try {
...
if (!NT_SUCCESS(status)) {
leave; // ???
}
...
} finally {
...
}
try {
...
} except(EXCEPTION_EXECUTE_HANDLER) {
...
}
-1 для неинформированы МС трепку - была необходима SEH и, кроме предшествующих исключений C++, реализует модель, которую некоторые находят выше C++. Конечно, для написания драйверов устройств и ядра, ваша реакция на него вызывает беспокойство. Желание использовать обработку исключений C++ в драйвере является подозрительным. –
+1 для отмены -1, заданного MS fanboy – qrdl
Каждая ОС имеет расширения для ISO C, например asprintf() и epoll(). Вам просто нужно открыть и привыкнуть к ним. Я уверен, что MS не имеет EXPORT_SYMBOL(). Каждое ядро определяет свою собственную песочницу, может также привыкнуть к этому :) Работа в пространстве ядра или использование пространства с микроядрами драйверов имеет собственный набор правил. Никакое ядро, которое я знаю, не поддерживает стандартную библиотеку C. –