Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
#1

Подключаемы библиотеки - C++

23.03.2011, 11:38. Просмотров 1013. Ответов 3
Метки нет (Все метки)

Здравствуйте! Есть функция memset - библиотеки string.h
Вопрос. Есть код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    char str[] = "almost every programmer should know memset!";
    memset(str,'-',6);
    cout << str;     
            
    system("PAUSE");
    return EXIT_SUCCESS;
}
я не подключаю библиотеку string.h, однако функция работает. Почему?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2011, 11:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подключаемы библиотеки (C++):

про библиотеки в VS C++ (какие библиотеки нужны для функций 'cout' и 'cin') - C++
какие библиотеки нужны для функций 'cout' и 'cin' ???

Как включить библиотеки в исполняемый файл, чтобы не приходилось ставить библиотеки (Eclipse) - C++
Как включить библиотеки в конечный EXE как это сделано в bilder, чтобы не приходилось ставить библиотеки.

Вызов функции одной динамической библиотеки из другой динамической библиотеки - C++
Добрый день! Помогите пожалуйста разобраться со следующим вопросом. Возможно ли из одной библиотеки передать параметры для...

Библиотеки - C++
Установил visual studio 2017, после этого все стандартные библиотеки куда-то пропали,старые программы не запускаются. Подскажите что...

Библиотеки - C++
Скажите какие есть библиотеки в с++.И для чего они нужны.

Библиотеки С++ - C++
Есть ли какой-нибудь справочник по описанию С/С++ библиотек, заголовочных файлов, макросов и прочего? Для печати//англ/русск//примеры

3
Байт
Нарушитель
Эксперт C
16672 / 10933 / 1675
Регистрация: 24.12.2010
Сообщений: 21,312
23.03.2011, 12:37 #2
Некоторые трансляторы не требуют обязательного описания прототипов функций перед их использованием. Поэтому трансляция исходника проходит благополучно, в объектном модуле появляется ссылка на внешний объект memset. А сборщик (линковщик) в любом случае использует стандартные библиотеки(объектные), в которых этот memset есть, и просто его подсоединяет.
Сборщику вообще глубоко плевать на #include твоего исходника. Это транслятор часто выступает, как строгий дядька. Он боится, а вдруг ты свой memset как нибудь неправильно используешь, не те аргументы передашь, или не то количество. А бывают дядьки и подобрей - больше доверяют ребятишкам, но уж тогда и ошибки времени выполнения - все твои. Кто из дядек более прав - тут есть разные мнения.
2
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
23.03.2011, 12:44  [ТС] #3
Спасибо. Буду знать. Про сборщики(линковщики), обязательно почитаю и узнаю как это работает.
0
Байт
Нарушитель
Эксперт C
16672 / 10933 / 1675
Регистрация: 24.12.2010
Сообщений: 21,312
23.03.2011, 13:06 #4
grrrrr, Имей в виду, что некоторые сборщики не подключают автоматически некоторые библиотеки, которые нам кажутся стандартными. Например gcc из Linux не подключает автоматом математическую библиотеку(sin, pow, log), сколько б #include <math.h> не писать. А надо поставить флажок -lm.
1
23.03.2011, 13:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2011, 13:06
Привет! Вот еще темы с ответами:

Библиотеки - C++
• &lt;ifstream&gt; - для работы с входными потоками, • &lt;ofstream&gt; - для работы с выходными потоками • &lt;fstream&gt; - для работы с...

Библиотеки - C++
#include &lt;iostream.h&gt; #include &lt;vector.h&gt; #include &lt;string.h&gt; #include &lt;algorithm.h&gt; #include &lt;iterator.h&gt; Можете скинуть сылку...

библиотеки в С++ - C++
#include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;iterator&gt; #include &lt;string&gt; что значат эти...

Библиотеки - C++
Хай всем! Как мне сделать так, чтобы при создании консольного приложения в MS VS 2008 автоматически было подключено Russia.h в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.