![]() |
|
Модераторы: bsa |
![]()
|
|
| Hagrael |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 26.6.2011 Репутация: нет Всего: нет |
Функции работают и без каких-либо библиотек! Функция strcpy работает без string.h, тип string есть и без библиотеки string! Может, компилятор их автоматически подключает? Но тогда как мне их отключить? Среда: Code::Blocks.
Это сообщение отредактировал(а) Hagrael - 4.7.2011, 06:49 |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
Скорее всего у тебя включен какой-нибудь stdafx.h, в котором все эти h-ники проинклюдены. Если в cpp-шнике нет ни одного #include, то компилироваться вызов strcpy не должен
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Hagrael |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 26.6.2011 Репутация: нет Всего: нет |
Видно, Code::Blocks и правда сам добавляет этот файл. А как мне до него достучаться и убрать все заголовки?
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
у тебя в cpp-шнике есть #include "stdafx.h" ? Если есть, то просто удали эту строку
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Hagrael |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 26.6.2011 Репутация: нет Всего: нет |
borisbn, в том-то и дело, что нет.
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Hagrael, тогда выложи минимально компилируемый пример и команду компиляции, которой собирает Code::Blocks.
|
|||
|
||||
| Hagrael |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 26.6.2011 Репутация: нет Всего: нет |
Вот пример:
А вот, что было в Build log:
"Use your files as you want!" - название проекта. |
||||
|
|||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Hagrael |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 26.6.2011 Репутация: нет Всего: нет |
borisbn, что с ними, что без, результат такой же.
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
Hagrael, ты хочешь сказать, что в точности такой main.cpp
компилируется без ошибок ? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Hagrael |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 26.6.2011 Репутация: нет Всего: нет |
Вот лог до подключения библиотеки <iostream>:
А вот после:
Не уже ли strcpy объявляется в библиотеке <iostream>? |
||||
|
|||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
компилятор и версию сообщи.
Добавлено через 7 минут и 49 секунд наверное mingw. но версию хоть сообщи. |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
<iostream> - это не библиотека, а заголовочный файл. Директива #include делает практически дословно следующее: открывает указанный ей файл (в нашем случае iostream без расширения), выделяет всё (Ctrl+A), копирует (Ctrl+C) и вставляет в твой файл main.cpp вместо себя (Ctrl+V). Можешь сделать то же самое вручную - рез-т будет точно таким же. Теперь по вопросу: в заголовочном файле iostream (или в файлах, которые он include'ит) используются функции из stdlib.h (например strcpy) и строки (string). Для корректной компиляции iostream он включает в себя нужные ему h-ники. Открой этот файл и убедись сам. Вообще-то это правило дурного тона - рассчитывать на то, что какой-то там h-ник включит требуемые тебе h-ники, поэтому принято самому включать те h-ники, которые тебе требуются (кстати, iostream так и сделал) -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Hagrael |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 26.6.2011 Репутация: нет Всего: нет |
Большое спасибо! Вопрос решен!
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |