Есть ли очевидные различия между изучением C в OSX и изучением C в Ubuntu?

[114212] Псевдонимы подходят только для того, чтобы дать команде более короткое имя или дать ей дополнительные аргументы. Для чего-нибудь еще используйте функцию. См. . [114672]Псевдонимы против функций против скриптов[114673] для более подробной информации.

  • Однако не используйте эту функцию. [114674]dd if=foo of=bar[114675] эквивалентно [114676]cat bar[114677], только

    медленнее[114958], и хуже,

  • ненадежная[114960] при определенных обстоятельствах, особенно при чтении или записи в трубу.

    Использование [114682]dd[114683] в качестве низкоуровневой команды для доступа к дискам - миф¹. Волшебство исходит из записей [114684]/dev[114685], а не из [114686]dd[114687].


  • Поэтому нужная вам команда просто

    1. , и вы можете сделать псевдоним для [114688]dd -tpreb[114689], если хотите.

    2. ¹ [114690] В этом мифе есть историческое происхождение: при доступе к лентам иногда необходим контроль над размером блока, который предоставляет [114961]dd[114962]. Но для всего остального, навязывание размера блока так, как это делает [114963]dd[114964], может привести к потере данных.

    1
    05.06.2015, 14:05
    3 ответа

    Вы можете писать программы, используя GNU C Compiler (gcc) во всех трех средах, без каких-либо существенных различий.

    (Вы можете посмотреть исходный код некоторых существующих межплатформенных пакетов, предлагаемых Homebrew . Вы можете получить исходный код любого пакета, используя brew fetch ... ].)

    Однако приложения, написанные специально для Mac OS X (или для платформ iOS), как правило, написаны на Objective C . Это обеспечивает дополнительный синтаксис, недоступный в плане C или C ++. А библиотеки, используемые для создания приложений Mac OS X / iOS, будут недоступны в других средах.

    Хотя Objective C может использоваться на других платформах, изучение библиотек Apple не является навыком, который можно перенести в среду, отличную от Apple.

    (Кроме того, Apple теперь переходит с Objective C на язык Swift .)

    3
    27.01.2020, 23:16

    C - это стандарт, не зависящий от того, какую операционную систему вы используете. OSX сертифицирована для Unix, в то время как Linux только Unix-подобна (и становится все меньше), но C в Windows должен основываться на том же стандарте. Таким образом, существуют различия в зависимости от того, какой стандарт C вы используете, а не от того, какая операционная система.

    Вы можете получить более подробные ответы на Programming Stackexchange.

    1
    27.01.2020, 23:16

    Сегодня мало программ написано на C. Это в основном низкоуровневые вещи, такие как ядро ​​Linux или glibc. Однако C является подмножеством C ++, цели C, C # и Java очень близки по синтаксису. Так что стоит изучить C.

    Существует значительная разница между использованием C в Windows и Linux, но поскольку MacOS и Linux являются UNIX-подобными системами, не имеет значения, изучите ли вы его в MacOS или Linux. Для целей обучения C эти системы равны.

    1
    27.01.2020, 23:16

    Теги

    Похожие вопросы