[vsesdal]
Тип работы: Курсовая теория
Предмет: Информационные системы
Страниц: 26
Год написания: 2015
ВВЕДЕНИЕ 3
ГЛАВА 1. ПОЛОЖИТЕЛЬНОЕ И ОТРИЦАТЕЛЬНОЕ ВЛИЯНИЕ ИНТЕРНЕТА 5
1.1 Интернет глазами подростков 5
1.2 Интернет глазами родителей 10
Глава 2.ПОЛОЖИТЕЛЬНЫЕ И ОТРИЦАТЕЛЬНЫЕ ЧЕРТЫ ВЛИЯНИЯ НА ПОДРОСТКОВ 14
2.1 Негативное влияние интернета на подростков 14
2.2 Позитивное влияние интернета на подростков 17
2.3 Способы противостояние негативному воздействию интернета на
подростков 18
ЗАКЛЮЧЕНИЕ 23
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 25
Учебная работа № 430716. Тема: Позитивное и негативное влияние сети интернет на подростков
Выдержка из похожей работы
Позитивное и негативное влияние сети Интернет на подростков
….. C++ (далее VC), в
свою очередь, при экспорте функции как __stdcall добавит к ее имени помимо
подчеркивания также информацию о списке аргументов (символ @ плюс размер списка
аргументов в байтах).
ПРИМЕЧАНИЕ
Использование соглашения __stdcall
означает, что вызываемая функция сама удалит из стека свои аргументы.
Соглашение __cdecl, наоборот, обязывает очищать стек вызывающую функцию.
Объявление функции как __cdecl приведет к некоторому (незначительному)
увеличению размера конечного исполняемого файла, поскольку каждый раз после
вызова этой функции требуется код по очистке стека, с другой стороны, именно
из-за очистки стека вызывающей функцией допускается передача переменного
числа параметров. В стек параметры и в том, и в другом случае помещаются
справа налево.
В таблице 1 приведены возможные варианты наименований
для экспортируемой функции MyFunction, объявленной следующим образом:
extern ”C” void
__declspec(dllexport)
в зависимости от соглашения о вызове (
Соглашение о вызове
VC++
C++ Builder
__stdcall
_MyFunction@4
MyFunction
__cdecl
MyFunction
_MyFunction
Таблица 1. Наименования функций в зависимости от
соглашения о вызове и компилятора.
Во-вторых, объектные двоичные файлы (.obj и .lib),
создаваемые BCB, несовместимы с объектными файлами VC, и, следовательно, не
могут быть прилинкованы к VC-проекту. Это означает, что при желании
использовать неявное связывание (linking) c dll необходимо каким-то образом
создать .lib-файл (библиотеку импорта) формата, которого придерживается
Microsoft.
ПРИМЕЧАНИЕ
Следует отметить, что до появления
32-разрядной версии Visual C++ 1.0 компиляторы Microsoft использовали
спецификацию Intel OMF (Object Module Format – формат объектного модуля). Все
последующие компиляторы от Microsoft создают объектные файлы в формате COFF
(Common Object File Format – стандартный формат объектного файла). Основной
конкурент Microsoft на рынке компиляторов – Borland – решила отказаться от
формата объектных файлов COFF и продолжает придерживаться формата OMF Intel.
Отсюда и несовместимость двоичных объектных файлов.
В-третьих, классы и функции-методы классов,
экспортируемые из BCB dll, не могут быть использованы в проекте на VC. Причина
этого кроется в том, что компиляторы искажают (mangle) имена как обычных
функций, так и функций-методов класса (не путайте с разными соглашениями о
наименованиях). Искажение вносится для поддержки полиморфизма, то есть для
того, чтобы различать функции с одинаковым именем, но разными наборами
передаваемых им параметров. Если для обычных функций искажения можно избежать,
используя перед определением функции директиву extern ”С” (но при этом,
во-первых, на передний план выходит первая проблема – разные соглашения о
наименовании функций в dll, а во-вторых, из двух и более функций с одинаковым
именем директиву extern ”С” можно использовать только для одной из них, в
противном случае возникнут ошибки при компиляции), то для функций-методов
класса искажения имени неизбежны. Компиляторы Borland и Microsoft, как вы уже,
вероятно, догадались, используют различные схемы внесения искажений. В
результате VC-приложения попросту не видят классы и методы классов,
экспортируемые библиотеками, скомпилированными в BCB.
ПРИМЕЧАНИЕ
От редакци…