Закрытый движок
| |
Saitei | Дата: Четверг, 30 Января 2014, 14:55 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Как сделать? Ну, чтобы программист использовал фичи моего ( =)))) ) движка, но никак не мог посмотреть реализацию тех или иных функций? Только не кидайтесь тапками. Я же не спрашиваю как написать движок
P.S. ещё один вопрос: а какая разница между движком и фреймворком?
|
|
| |
Vigilem | Дата: Четверг, 30 Января 2014, 15:03 | Сообщение # 2 |
частый гость
Сейчас нет на сайте
| Копай в сторону dll и lib.
|
|
| |
set16 | Дата: Четверг, 30 Января 2014, 15:22 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Цитата движком и фреймворком
Фреймворк - набор библеотек
=>The darkness of distant lands [3D]<=
|
|
| |
vasua99 | Дата: Четверг, 30 Января 2014, 15:29 | Сообщение # 4 |
GNU follower
Сейчас нет на сайте
| Создаешь статическую, либо динамическую библиотеку. Для клиентов(программистов) пишешь хидер(.h) с описанием функций, классов, переменных. После разработчик подключает хидер, и линкует(динамически или статически, в зависимости от вида библиотеки) твою либу. И все.
P.S Гугль
Жизнь игра, и мы в ней пешки... А я кушаю пельмешки)
|
|
| |
Saitei | Дата: Четверг, 30 Января 2014, 15:34 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| vasua99, то есть в хедере - описание, а в lib реализация функций? Вот у меня по задумке есть некий "конвейер" ну или "менеджер функций". В одном месте я в него кладу указатели на функции, а в другом месте (уже внутри движка) эти функции вызываются. Значит мне нужна динамическая библиотека?Добавлено (30.01.2014, 15:34) --------------------------------------------- +как выглядят lib файлы? Их содержимое вообще никак нельзя просмотреть?
|
|
| |
vasua99 | Дата: Четверг, 30 Января 2014, 15:41 | Сообщение # 6 |
GNU follower
Сейчас нет на сайте
| Да. Но и статическая подойдет. Добавлено (30.01.2014, 15:41) --------------------------------------------- Тот же скомпилированный obj файл практически. Посмотреть можно разве что только дизассембелировав. Но мало кто захочет читать код на ассемблере. Поэтому прочитать их нельзя)
static library
Жизнь игра, и мы в ней пешки... А я кушаю пельмешки)
|
|
| |
Saitei | Дата: Четверг, 30 Января 2014, 15:48 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| vasua99, lib\dll - какая разница? И то, и то библиотеки...... Разве что dll я видел прямо в скомпилированных проектах........ Предположу что lib сразу во время компиляции в байт-код превращается и выдает исполняемый файл, а dll подгружается во время исполнения... Это так?
|
|
| |
vasua99 | Дата: Четверг, 30 Января 2014, 15:57 | Сообщение # 8 |
GNU follower
Сейчас нет на сайте
| Ну lib компилируется не в байт код, а в машинный код. С точки зрения производительности. статическая либа лучше. Ибо на загрузку dll тоже уходят ресурсы.
Жизнь игра, и мы в ней пешки... А я кушаю пельмешки)
|
|
| |
Saitei | Дата: Четверг, 30 Января 2014, 16:10 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| Цитата vasua99 ( ) Но и статическая подойдет. почему? Функции, которые я передаю в main, будут же вызываться внутри библиотеки.... Причем кол-во передаваемых ф-ций всегда разное... Или же Visual Studio сама все скомпонует и откомпилирует так, как надо? Видимо, я не очень понимаю разницу между lib и dll
|
|
| |
vasua99 | Дата: Четверг, 30 Января 2014, 16:22 | Сообщение # 10 |
GNU follower
Сейчас нет на сайте
| Если ты используешь статическую библиотеку, то она линкером соединяется с твоим файлом. Как если бы ты компилировал два .c файла в одну программу. Только тут ты компуешь уже скомпилированную библиотеку.
Жизнь игра, и мы в ней пешки... А я кушаю пельмешки)
|
|
| |
avolkoff | Дата: Четверг, 30 Января 2014, 16:30 | Сообщение # 11 |
частый гость
Сейчас нет на сайте
| Цитата Saitei ( ) Функции, которые я передаю в main, будут же вызываться внутри библиотеки.... WTF? Цитата Saitei ( ) Видимо, я не очень понимаю разницу между lib и dll По сути, что статическая, что динамическая библиотеки одно и тоже: Статическая библиотека "пристыковывается" во время линковки. Динамическая библиотека загружается в процессе выполнения программы. DLL можно загружать самому в коде или подключить статическую библиотеку (созданную с DLL) которая будет загружать DLL перед началом точки входа. Когда "грузишь" DLL сам, то приходится самому импортировать функции (короче загружать из DLL указатели на функции, находящиеся в DLL) Когда используешь статическую для загрузки DLL они автоматически импортируются.
Насчет, сокрытия - ничего не сокроешь (реверс инжиниринг был, есть и будет есть:)), вопрос надо ли?
Сообщение отредактировал avolkoff - Четверг, 30 Января 2014, 16:48 |
|
| |
Saitei | Дата: Четверг, 30 Января 2014, 16:59 | Сообщение # 12 |
старожил
Сейчас нет на сайте
| Цитата avolkoff ( ) WTF? Часть кода, где будет выполняться отрисовка, будет внутри кода (она, скажем так, скрыта "от глаз посторонних"). Там же будет извлечение указателей из очереди и их выполнение Цитата avolkoff ( ) По сути, что статическая, что динамическая библиотеки одно и тоже: Статическая библиотека "пристыковывается" во время линковки. Динамическая библиотека загружается в процессе выполнения программы. DLL можно загружать самому в коде или подключить статическую библиотеку (созданную с DLL) которая будет загружать DLL перед началом точки входа. Когда "грузишь" DLL сам, то приходится самому импортировать функции (короче загружать из DLL указатели на функции, находящиеся в DLL) Когда используешь статическую для загрузки DLL они автоматически импортируются.
Насчет, сокрытия - ничего не сокроешь (реверс инжиниринг был, есть и будет есть:)), вопрос надо ли? Не каждый захочет по-настоящему порыться во внутренностях движка... А кто захочет - тот практически всегда найдет то, что ему надо
vasua99, avolkoff, спасибо большое вам) Всё же буду копать в сторону lib, а не dll... А можно ли собрать одну библиотеку из других lib?
|
|
| |
avolkoff | Дата: Четверг, 30 Января 2014, 21:53 | Сообщение # 13 |
частый гость
Сейчас нет на сайте
| Цитата Saitei ( ) А можно ли собрать одну библиотеку из других lib? Проще и удобнее будет делать несколько, затем их линковать с программой... Цитата Saitei ( ) Не каждый захочет по-настоящему порыться во внутренностях движка... Я роюсь в cry, много чего интересного... Код, код, код... :) Цитата Saitei ( ) А кто захочет - тот практически всегда найдет то, что ему надо Это не зависит от уровня "хотения", ИМХО Цитата Saitei ( ) Часть кода, где будет выполняться отрисовка, будет внутри кода (она, скажем так, скрыта "от глаз посторонних"). Да, она полюбому внутри кода будет :) Для сокрытия исходного кода - статическая библиотека... Цитата Saitei ( ) Там же будет извлечение указателей из очереди и их выполнение Указатели из очереди? Может делать проще? Например, вызывать функцию и всё, или делать при помощи функций обратного вызова?
|
|
| |
Izaron | Дата: Четверг, 30 Января 2014, 22:34 | Сообщение # 14 |
Rammstein forever
Сейчас нет на сайте
| Еще можно в проекте на юнити в С# скрипте порыться в ссылках и посмотреть UnityEngine.dll, правда, были видны только объявления классов, а их реализация - авоттрибуквы)
Но это потом стало неинтересно, т.к. примерно знаю, как работает программа, и бОльшая часть исходников юнити, включая редактор, который черт знает на чем создан, сокрыты
|
|
| |
avolkoff | Дата: Четверг, 30 Января 2014, 23:17 | Сообщение # 15 |
частый гость
Сейчас нет на сайте
| Цитата Izaron ( ) Но это потом стало неинтересно, т.к. примерно знаю, как работает программа, и бОльшая часть исходников юнити, включая редактор, который черт знает на чем создан, сокрыты На C++ скорее всего, наверное написано на сайте у них...
|
|
| |
morglodd | Дата: Четверг, 30 Января 2014, 23:45 | Сообщение # 16 |
частый гость
Сейчас нет на сайте
| Saitei, ИМХО ты перед тем как что то разрабатывать, лучшеб подучил язык.. Форум и так заполнен товарищами, незнающими элементарных вещей и лезущими в то, в чем не разбираются
C++/C#/PHP/JavaScript/ASM
|
|
| |
avolkoff | Дата: Четверг, 30 Января 2014, 23:49 | Сообщение # 17 |
частый гость
Сейчас нет на сайте
| morglodd, +
|
|
| |
Saitei | Дата: Пятница, 31 Января 2014, 14:11 | Сообщение # 18 |
старожил
Сейчас нет на сайте
| morglodd, я уже 3-4 года на консоли торчу, справочник сотни раз перечитываю...... Да и в нем о библиотеках ничего не говорилось... Хотя да, язык я пока что знаю не на все 100. Но со временем исправлю-с
|
|
| |
|