Портирование кода C на C # - PullRequest
2 голосов
/ 29 июня 2011

Как часть моей работы, я должен портировать части прошивки, написанные на c, на программное обеспечение с графическим интерфейсом, написанное на c #.Итак, я должен преобразовать код C в C #.Я мог бы использовать код c, как он есть, и вызывать его из графического интерфейса, но люди здесь решили портировать вместо использования файла c, как есть.

Когда я собирался просмотреть код, я обнаружил что-то вроде этого:

static xdata x y;

Затем, после некоторых исследований, выяснил, что xdata сообщает чипу для хранения этой переменной во внешней памяти.Теперь проблема в том, как мне написать эту строку в c #.

Спасибо всем и этому замечательному сообществу.

Ответы [ 3 ]

3 голосов
/ 29 июня 2011

Просто удали это.xdata просто подсказка для компилятора, где хранить переменную.Если вы удалите его, компилятор C # сам разберется с этим.

2 голосов
/ 03 июля 2011

Ваш вопрос опускает много деталей.Когда я вижу «Я должен портировать части прошивки, написанные на c, в программное обеспечение графического интерфейса, написанное на c #.», Я предполагаю, что «портируемые части» не связаны с аппаратным обеспечением.Однако, возможно, это не так, и вы используете что-то вроде .NET Micro Framework.Собираетесь ли вы запускать код C # на какой-либо форме встроенного CLR, или он будет работать на ПК?Если он просто собирается работать на полной платформе Windows .NET.Если последнее, то вы можете игнорировать спецификатор xdata, поскольку C # не имеет аналога.

2 голосов
/ 29 июня 2011

Подумайте о переносе кода C на dll .NET C ++ вместо C #. Это должно минимизировать ваши проблемы с портированием. Ключевое слово xdata может быть эффективно удалено пустым макросом.

Используйте что-то вроде следующего в заголовочном файле вашего C ++ проекта:

#define xdata

На DLL-библиотеку .NET C ++ можно легко ссылаться в проекте C # GUI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...