RDSchaefer Ответов: 2

Как переключиться с windows C на linux C?


Я был многоязычным программистом в DOS/Windows в течение десятилетий. Я наконец-то решил перейти на Linux, и у меня не так много успехов в поиске информации. Я думал, что было бы довольно легко начать с программ Windows cli, которые я уже написал на C, и преобразовать их в Linux, но это не так.

Есть ли хороший источник помощи для всех различных заголовочных файлов, сторонних библиотек и т. д. для gcc и, в конечном счете, gnome?

Любая помощь будет оценена по достоинству.

Что я уже пробовал:

linuxcommand.org,
https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html,
linuxdevcenter,
и т.д.

KarstenK

codeproject-это более ориентированный на windows веб-сайт. Я знаю QT как хорошую платформу независимого GUI-фреймворка.

2 Ответов

Рейтинг:
2

Richard MacCutchan

Вокруг есть множество сайтов Linux, и вы даже можете найти справочные страницы в интернете: Раздел 3: библиотечные функции-справочные страницы Linux[^].


Рейтинг:
1

Jochen Arndt

Я не думаю, что есть только один источник (или даже несколько), который охватывает все ваши вопросы. Сконцентрируйтесь на одном вопросе и поищите в интернете или спросите здесь еще раз, если вопрос достаточно специфичен (вопросы, на которые можно ответить с помощью веб-исследований, здесь не очень приветствуются).

Но я дам вам некоторые основы, которые могут помочь.

Нет (почти) никакой разницы в отношении стандартных библиотек C и C++.

Со строками просто используйте char*. Linux использует строки UTF-8, которые обрабатываются chars в то время как Windows использует широкие строки (wchar_t) и специфика МС TCHARс.

Большинство проблем возникает при попытке преобразовать графическую часть существующего приложения Windows в Linux. Поскольку существует несколько графических фреймворков, вы должны сначала решить, какие из них использовать (Список инструментов виджетов-Википедия, свободная энциклопедия[^Обратите внимание, что большинство из них используют C++ (см. выше ссылку на Википедию для фреймворков C).

Обычно лучше переписать части графического интерфейса с нуля, чем пытаться преобразовать существующий код.

Для чего-либо еще (например, дополнительных библиотек) вам нужно искать библиотеки с соответствующей функциональностью. Для сетевых операций используйте простые сокеты (Linux Howtos: Главная Страница[^]) или функции, предоставляемые используемым графическим интерфейсом вместо WinSock. Аналогично для потоков, где вы можете использовать pthreadс (POSIX Threads - Википедия, свободная энциклопедия[^]) или функции фреймворка.

Вы должны ознакомиться с инструментами разработки (в основном ССЗ, ГДБ, а общие делают коммунальные услуги). В интернете есть много ресурсов, охватывающих основные учебные пособия и документацию по инструменту.