Я читал «Язык программирования C» от Kernighan & Ritchie и наткнулся на некоторые программы, которые имитируют некоторые команды Unix (также реализованные в Linux), такие как команда cat
. Программа приняла аргументы командной строки так же, как и исходная команда cat
. Мне просто интересно узнать, являются ли они такими же или нет. Исправьте меня, если я ошибаюсь, любая помощь будет оценена.Являются ли Linux действительно файлами объектов C?
0
A
ответ
1
В среде командной строки (например, Unix/Linux) основным элементом абстракции является команда . Команда имеет четко определенный интерфейс: аргументы командной строки, которые он ожидает, ввод, который он читает (если есть), и результат, который он генерирует. Вы можете повторно реализовать команду в любое удобное для вас время, используя либо другой внутренний алгоритм, либо другой язык, либо просто потому, что хотите написать свою собственную версию. Да, cat
был первоначально написан на C, но мы могли бы переписать его на языках C++, Perl или Python, или sh, или на других языках. Пока наша переоценка соответствует тем же требованиям интерфейса, мы можем точно сказать, что она «есть» cat
.
Смежные вопросы
- 1. Являются ли генераторы действительно навязчивыми
- 2. Являются ли массивы действительно объектами?
- 3. Являются ли классы EF4 действительно POCO?
- 4. Являются ли шаблоны проектирования действительно языковыми недостатками?
- 5. Действительно ли lvalues являются не временными объектами?
- 6. Являются ли индексы PHP Integer действительно числовыми?
- 7. Являются ли петли действительно быстрее рекурсии?
- 8. Являются ли конфликты пространства имен действительно проблемой в Objective-C?
- 9. Являются ли классы действительно текущим предложением для следующего стандарта C?
- 10. Являются ли кортежи действительно неизменными в Python?
- 11. Являются ли фьючерсы в Scala действительно функциональными?
- 12. Являются ли Android-идентификаторы действительно неизменными?
- 13. Являются ли объекты OCMock действительно экземплярами класса?
- 14. Являются ли ячейки GridLayout действительно одинаковыми?
- 15. Являются ли курсоры действительно «правильным» выбором?
- 16. Действительно ли параметры python являются псевдонимами аргументов?
- 17. Являются ли СОВРЕМЕННЫЕ принципы действительно прочными?
- 18. Являются ли классы оболочки Java действительно неизменными?
- 19. Java hashmap: Являются ли ключи() действительно отсутствующими?
- 20. Являются ли элементы объектов DOM?
- 21. Являются ли PHP функциями объектов?
- 22. Действительно ли Linux JVM реализуют приоритеты потоков?
- 23. Действительно ли это C++?
- 24. Crosscompiling C++; от Linux до Windows, действительно ли это работает?
- 25. Являются ли заголовки API Unix и Linux совместимыми с C++?
- 26. Являются ли заголовки C++ Qt одинаковыми для окон и Linux?
- 27. Имеет ли Linux файл с файлами?
- 28. Действительно ли async_connect асинхронно в GNU/Linux?
- 29. Действительно ли потоки не являются мусором, собранным на эмуляторе WTK?
- 30. Являются ли имена объектов Objective-C сохраненными в тексте?
На ваш заголовок дается ответ. Но голосование закрывается, так как это не по теме для Stackoverflow. Удачи. – shellter
Вы имеете в виду Брайана У. Кернигана и Денниса М. Ричи? Люди, которые изобрели C, чтобы изобрести Unix? И вам интересно, что их команда 'cat' похожа на' cat', используемый сегодня? – deamentiaemundi
Многие из этих команд относятся к некоторым дистрибутивам Linux, входящим в пакет GNU Coreutils. Вы можете найти исходный код для многих из этих инструментов [здесь] (http://git.savannah.gnu.org/cgit/coreutils.git/tree/src). – bleakgadfly