Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2010, 10:15   #11
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Pirr Посмотреть сообщение
Мне не верится что нет стандартных кроссплатформенных функций для чтения директорий
Их нет.
Цитата:
Сообщение от Pirr Посмотреть сообщение
ведь есть куча софта который одинаково компилируется на любой платформе.
Основной подход, используемый в Qt и прочих кроссплатформенных решениях - волшебство препроцессора. По наличию/отсутствию определенных define можно узнать под какой ОС компилируется и выполнить соответствующий код. Грубо говоря:
Код:
#ifdef _LINUX
  // тут код для линукса
#endif

#ifdef _WIN32
  // тут код для 32-битной винды
#endif
С++ на уровне языка не предлагает ничего кроссплатформенного. Даже STL не всегда можно использовать. Везде свои нюансы. Кроссплатформенного у плюсов только распространение компиляторов на многих платформах.
pu4koff вне форума Ответить с цитированием
Старый 16.09.2010, 10:49   #12
Pirr
Пользователь
 
Регистрация: 23.06.2009
Сообщений: 13
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
С++ на уровне языка не предлагает ничего кроссплатформенного. Даже STL не всегда можно использовать. Везде свои нюансы. Кроссплатформенного у плюсов только распространение компиляторов на многих платформах.
Это удар ниже пояса
Почему то прочитав про переносимый код в С++ я подумал о кроссплатформенности.... думал что если придерживаться определенных правил и использовать кроссплатформенные библиотеки то можно написать кроссплатформенный код.
Pirr вне форума Ответить с цитированием
Старый 16.09.2010, 11:39   #13
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

C++ не может поддерживать на языковом уровне одновременно все - работу с директориями, с графикой, со звуком, с сетями, с базами данных... Это все относится к работе с внешним миром, структура которого может сильно отличаться в зависимости от системы и аппаратной части. Языку общего назначения самостоятельно нет смысла всем этим заниматься.
Мой вам совет - для начала изучите как следует сам язык, его структуру, философию и внутренний мир, а потом, если вам так нужна кроссплатформенность, изучите Qt и будет вам счастье!
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 16.09.2010, 11:45   #14
Pirr
Пользователь
 
Регистрация: 23.06.2009
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Гром Посмотреть сообщение
C++ не может поддерживать на языковом уровне одновременно все - работу с директориями, с графикой, со звуком, с сетями, с базами данных... Это все относится к работе с внешним миром, структура которого может сильно отличаться в зависимости от системы и аппаратной части. Языку общего назначения самостоятельно нет смысла всем этим заниматься.
Мой вам совет - для начала изучите как следует сам язык, его структуру, философию и внутренний мир, а потом, если вам так нужна кроссплатформенность, изучите Qt и будет вам счастье!
Спасибо за совет, наверное так и надо поступить.
Почитаю еще, и пока не буду заморачиваться на сложных примерах.
Pirr вне форума Ответить с цитированием
Старый 16.09.2010, 12:03   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Языку общего назначения самостоятельно нет смысла всем этим заниматься.
А я так не думаю... В Яве, Обероне, .NET то все стандартизовано по любые платформы (ну почти любые - это я утрирую).
Могли бы и для Си придумать хеадеры для каждой оси свои, но имена функций и их спецификации сделать одинаковыми, дабы хотя бы исходники легко портировались.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.09.2010, 14:21   #16
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Stilet
Цитата:
Могли бы и для Си придумать хеадеры для каждой оси свои, но имена функций и их спецификации сделать одинаковыми, дабы хотя бы исходники легко портировались.
это придумано. posix. но там есть не все (конкретно scandir вроде как нет, мельком смотрел), vs его очень плохо поддерживает. vs и язык си плохо поддерживает) плюсы более менее
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 16.09.2010, 14:52   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
vs и язык си плохо поддерживает

Трындец... А я думал что мелкомягкие всетки самые близкие к Си...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.09.2010, 15:00   #18
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Stilet
их реализация сей в студии остановилась на версии с89, который даже еще не ansi, что то среднее
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 16.09.2010, 15:07   #19
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Извиняюсь за отход от темы кстати, а какой компилятор наиболее приближен к стандарту?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.09.2010, 15:25   #20
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Stilet
не интересовался. меня gcc всем устраивает
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Моя первая программа. fragment Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 11.05.2010 11:46
Первая программа на WINAPI Syltan Win Api 8 27.02.2010 22:38
Первая программа, C++ Bulder edmynt Помощь студентам 2 31.01.2010 15:12
Моя первая программа)) Dr.Badnezz Софт 9 06.12.2008 14:39
Моя первая программа NikLik Софт 4 20.07.2008 00:24