- Регистрация
- 11.06.2015
- Сообщения
- 240
- Благодарностей
- 250
- Баллы
- 63
Уважаемые коллеги. Ситуация такова: Zennoposter создает рабочие прототипы программ – достаточно сложный шаблон можно создать за 2-3 часа (у какого какой опыт). И шаблон, который показывает свою коммерческую успешность, можно перевести в промышленный код или же отдельные блоки переписать на языке программирования (ЯП). Потому что так будет быстрее и менее затратно по ресурсам. И возникает вопрос какой ЯП предпочесть?
Многие из опытных пользователей Zennoposter уже пишут на С# (си шарп) или PHP, или легко ориентируются в нескольких языках. Но базовым среди нас считается си шарп, здесь на форуме частенько советуют друг другу изучать именно си шарп, поскольку Zennoposter написан на нем, использует его синтаксис и библиотеки для работы пользовательских шаблонов. Здесь я проведу главный тезис своей статьи: оптимальный ЯП для перевода всего шаблона Zennoposter или его отдельный блоков в промышленный код является С++. С++ - это «язык Бога» среди других ЯП. Программы на С++ быстрые и не требуют много ресурсов, легко переносятся на unix-сервера, которые значительно дешевле windows‑серверов. Например, мой многопоточный шаблон для Discord, выполненный на С++ также работал в многопотоке на библиотеке libCURL на сервере с debian и использовал смешное количество памяти (50-100 мб), процессор практически не грузил. Однако, мне не удалось полностью воплотить в эту программу логику шаблона Zennoposter из-за её сложности. В другом шаблоне я использовал программу на С++ для быстрой проверки прокси с подключением через кубик «запуск программы». Подобный подход к программированию исповедуют и в yandex, где прототипы пишут на python, а промышленные образцы воплощают на С++. Не за горами и доступное нейросетевое программирование для Zennoposter, которое нуждается в серьёзных ресурсах при обучении нейронной сети. И тут подходящим кандидатом также является С++. Конечно, С++ сложнее в освоении и применении, чем любой другой ЯП, но такие интеллектуальные инвестиции оправданы, ИМХО.
Из литературы читайте Майерса, сам Страуструп точно не для новичков. Вот моя подборка текстов (многое не читал)
И ПРАКТИКУЙТЕ С++ - только это главное)
В практической части этой статьи пойдет речь о программировании на С++ параметров (ключей) запуска программ через командную строку. Это нужно, чтобы программа на С++ могла использовать разную логику в зависимости от вызова. Многие консольные программы, например, ping используют разные ключи для той или другой работы.
Ключи (параметры) запуска программ на С и С++ связаны с аргументами функции main(), точкой входа в программу. Обычно рассматривают два аргумента функции main(): argc и argv. argc (ARGument Count) имеет тип int и хранит количество аргументов командной строки, переданных пользователем, включая имя программы. Поэтому, если мы передадим значение в условную программу (например, pinggg google.com), значение argc будет равно 2 (один для аргумента (google.com) и один для имени программы(pinggg)). argv (ARGument Vector) - это массив символьных указателей со списком всех аргументов. Если argc больше нуля, элементы массива от argv [0] до argv [argc-1] будут содержать указатели на строки. Argv [0] - это имя программы (например, pinggg), после чего до argv [argc-1] каждый элемент является аргументом командной строки. Синтаксис функции main с аргументами выглядит так:
Как пример я написал программу на С++, которая выводит то или другое сообщение на консоль в зависимости от ключа.
1. Создаем пустой проект С++ в Visual Studio (это лучшая среда разработки для С++) и добавляем новый элемент .cpp
2. В файл .сpp пишем следующий код:
3.Сборка проекта
4. Чтобы запустить программу в консоли нужно перейти в папку, где сохранился .exe и вызвать программу с ключами
5. Для подключения программы к Zennoposter, нужно использовать кубик "выполнение программы". В данном случае использован ключ "2", вызывающий сообщение в консоли "С++ for Zennoposter"
К статье прикреплены файлы шаблона, программа на С++ (для windows 64) и листинг программы. Да прибудет с нами Сила)
Многие из опытных пользователей Zennoposter уже пишут на С# (си шарп) или PHP, или легко ориентируются в нескольких языках. Но базовым среди нас считается си шарп, здесь на форуме частенько советуют друг другу изучать именно си шарп, поскольку Zennoposter написан на нем, использует его синтаксис и библиотеки для работы пользовательских шаблонов. Здесь я проведу главный тезис своей статьи: оптимальный ЯП для перевода всего шаблона Zennoposter или его отдельный блоков в промышленный код является С++. С++ - это «язык Бога» среди других ЯП. Программы на С++ быстрые и не требуют много ресурсов, легко переносятся на unix-сервера, которые значительно дешевле windows‑серверов. Например, мой многопоточный шаблон для Discord, выполненный на С++ также работал в многопотоке на библиотеке libCURL на сервере с debian и использовал смешное количество памяти (50-100 мб), процессор практически не грузил. Однако, мне не удалось полностью воплотить в эту программу логику шаблона Zennoposter из-за её сложности. В другом шаблоне я использовал программу на С++ для быстрой проверки прокси с подключением через кубик «запуск программы». Подобный подход к программированию исповедуют и в yandex, где прототипы пишут на python, а промышленные образцы воплощают на С++. Не за горами и доступное нейросетевое программирование для Zennoposter, которое нуждается в серьёзных ресурсах при обучении нейронной сети. И тут подходящим кандидатом также является С++. Конечно, С++ сложнее в освоении и применении, чем любой другой ЯП, но такие интеллектуальные инвестиции оправданы, ИМХО.
Из литературы читайте Майерса, сам Страуструп точно не для новичков. Вот моя подборка текстов (многое не читал)
И ПРАКТИКУЙТЕ С++ - только это главное)
В практической части этой статьи пойдет речь о программировании на С++ параметров (ключей) запуска программ через командную строку. Это нужно, чтобы программа на С++ могла использовать разную логику в зависимости от вызова. Многие консольные программы, например, ping используют разные ключи для той или другой работы.
Ключи (параметры) запуска программ на С и С++ связаны с аргументами функции main(), точкой входа в программу. Обычно рассматривают два аргумента функции main(): argc и argv. argc (ARGument Count) имеет тип int и хранит количество аргументов командной строки, переданных пользователем, включая имя программы. Поэтому, если мы передадим значение в условную программу (например, pinggg google.com), значение argc будет равно 2 (один для аргумента (google.com) и один для имени программы(pinggg)). argv (ARGument Vector) - это массив символьных указателей со списком всех аргументов. Если argc больше нуля, элементы массива от argv [0] до argv [argc-1] будут содержать указатели на строки. Argv [0] - это имя программы (например, pinggg), после чего до argv [argc-1] каждый элемент является аргументом командной строки. Синтаксис функции main с аргументами выглядит так:
C++:
int main ( int argc , char * argv [] ){ тут тело функции}
1. Создаем пустой проект С++ в Visual Studio (это лучшая среда разработки для С++) и добавляем новый элемент .cpp
2. В файл .сpp пишем следующий код:
C++:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
if (argc < 2)
{
cout << "I am newbie " << endl;
}
else if(atoi(argv[1]) == 1 && argc == 2)
{
cout << "C# for ZennoPoster" << endl;
}else if(atoi(argv[1]) == 2 && argc == 2)
{
cout << "C++ for ZennoPoster" << endl;
}else
{
cout << "Super ZennoPoster" << endl;
}
cin.get();
return 0;
}
4. Чтобы запустить программу в консоли нужно перейти в папку, где сохранился .exe и вызвать программу с ключами
5. Для подключения программы к Zennoposter, нужно использовать кубик "выполнение программы". В данном случае использован ключ "2", вызывающий сообщение в консоли "С++ for Zennoposter"
К статье прикреплены файлы шаблона, программа на С++ (для windows 64) и листинг программы. Да прибудет с нами Сила)
- Тема статьи
- Нестандартные хаки
- Номер конкурса статей
- Двенадцатый конкурс статей
Вложения
-
20,1 КБ Просмотры: 264
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование модератором: