Главная | Настройки | NSFW
Тема:
Доски


[Ответить в тред] Ответить в тред

[Назад] [Обновить тред] [Вниз] [Каталог] [ Автообновление ] 38 / 3 / 13

Anonymous No.3673
vf1aLP8f_thumb[...].png (34 KB, 200x200)
Сап братья-тучаны.
Начал вкатываться в СИ в декабре. В итоге изучил СИ где то за пол тора месяца с решением задачек из книжки. Каждая тема в языке была мне понятна полностью, в итоге я двинулся дальше, а именно изучать WinApi.
Начал тоже с книжки одной, изучил основы, окна, сообщения, процессы, потоки, менюшки, синхронизацию и все основное что требуется для нормальной программы на Windows.
И вот после этих основ я просто встал в какой то ступор. Ведь я просто не понимаю КАК написать мне свою первую НАСТОЯЩУЮ программу, самостоятельно? Я не могу понять, каким хером мне теперь эти полученные знания задействовать на настоящей практике? Как написать то свою первую программу? Хотя я изучил СИ, изучил основы WinApi а как написать собственную программу не знаю...
Знатно я проебался. Походу я реально даун для такой работы.
Anonymous No.3674
>>3673 (OP)
winApi говно мамонта, уже даже самим микрософтам очевидно что это никуда не годится, потому они и выкатывают всякий шарп и другие штуки, чтобы не работать с уровнем winApi никогда больше.

>самостоятельно?
winApi - это библиотека. Ты не можешь самостоятельно изучить библиотеку, тебе нужно читать к ней документацию. И в защиту микрософта скажу что у них очень хорошая документация, где не только описание функций и аргументов - но и какие-то статьи-ревью, которые человеческими словами описывают концепцию и логику работу.
И такая же есть про создание окна: https://docs.microsoft.com/en-us/windows/win32/learnwin32/your-first-windows-program
Или про работу с клаво-мышкой на низком уровне: https://docs.microsoft.com/en-us/windows/win32/inputdev/raw-input
Обрати внимание что там есть описание, есть пример кода который можно просто скопировать не думая и посмотреть как он работает, и после есть статьи по каждой функции с описанием допустимых параметров. Это почти лучший вид документации, что я видел.
Явно не ту либу выбрал, чтобы жаловаться на неё. По winapi вроде как даже книжки есть.
Anonymous No.3675
>>3673 (OP)
>Начал вкатываться в СИ в
С какой целью?
Anonymous No.3676
Отдохни на пару месяцев
Anonymous No.3677
>>3674
Банальный вопрос, но как читать эту самую документацию?
Просто брать и заходить читать разные разделы в документации и добавлять в закладки нужное для каких-либо программ будущих?

> Явно не ту либу выбрал, чтобы жаловаться на неё.
Ни в коем случае. Я скорее жалуюсь на себя.

> По winapi вроде как даже книжки есть.
Конечно, сейчас читаю Рихтера. Он каждую тему более подробнее описывает но минус в том, что нету практики в этих книгах. По этому хоть я и понимаю эти темы, теплее от этого сильно не становится. Ведь практики нет, следовательно эти знания превращаются в тыкву.
Anonymous No.3678
>>3677
> как читать документацию
Вначале просто прочитать от корки до корки, особо не запоминая, дабы получить общее представление о возможностях библиотеки. Далее, уже в процессе решения задач, возвращаться к конкретным сущностям, с которыми будешь работать.

> нету практики
Да, практика обязательна, иначе нахватаешься только общих мыслей, а конкретика вся улетит. Пиши что-нибудь, не важно что. Клиент имиджборды, графический редактор, игру на спрайтах.
Anonymous No.3679
>>3678
А ещё такой вопрос, можно ли мне списывать код с github?
Anonymous No.3680
>>3679
Это написано в лицензии на него.
Anonymous No.3681
>>3680
Ну для обучения, понятное дело. Я имел ввиду можно ли учиться кодить программы, списывая код с гита?
Anonymous No.3682
>>3681
Если ты этот код будешь читать и понимать, то почему нет?
Anonymous No.3683
oEFl5fCW_thumb[...].png (52 KB, 200x200)
>>3682
Понимаю код. Вот только совесть душит, что не сам пишу.
Anonymous No.3684
Зачем тебе СИ, дебич? Что ты на нём делать собрался, может он тебе и не нужен вовсе?
Anonymous No.3685
BuJiLmoq_thumb[...].png (35 KB, 158x200)
>>3684
Ну мне говорили, что нужно с основ начать, чтобы успешно на винде писать.
Anonymous No.3686
>>3685
Зачем вообще под пенду писать, когда есть более дружественные к программисту ОС?
Anonymous No.3687
>>3686
Ну а какие дружественные есть? На линукс писать не хочется.
Anonymous No.3688
>>3685
>нужно с основ начать
>verilog
>x86 isa, intel asm/at&t asm/nasm
>устройство ос изнутри
>с основ
Ты не с того начал, анан. Какая конечная цель?
Anonymous No.3689
>>3688
Чат со своим шифрованием.
Anonymous No.3690
>>3689
А дальше?
Anonymous No.3691
>>3688
Не знаю, что нибудь ещё. Идей много.
Anonymous No.3692
>>3691
Неплохая задача, СИ подойдёт. Рекомендую не морочить голову с красивым интерфейсом, а сделать консольный чат, который будет делать только чат+шифрование, то есть только то, что необходимо. В криптографии сечёшь?
Anonymous No.3693
>>3687
> Ну а какие дружественные есть?
Любые, распространяемые в виде исходников.
> На линукс писать не хочется.
Почему? Это просто и удобно, инструментарий интегрирован в большинство дистрибутивов.
Anonymous No.3694
>>3690
Да мне тоже не нравится дизайн писать.
> В криптографии сечёшь?
Нет но придется изучать, в планах есть.

> На линукс писать не хочется. Почему?
Банальная причина, опенсорс который не продашь никому и особо не заработать на линьке, как кажется.
Anonymous No.3695
>>3692
А свой алгоритм же не придется придумывать для этого? Достаточно же будет RC4?
Anonymous No.3696
>>3694
Да и забей на процессы/синхронизацию/многопотчность - это всё тебе не нужно на данном этапе, и вообще довольно глубокие концепции, лучше к ним подходить, когда действительно уже готов будешь.
>>3695
Если нет задач, чтобы была серьёзная защита, то можно какую-нибудь игрушечную схему придумать с любым шифром, в противном случае, взять готовое решение (ssl) и не придумывать велосипеды. Но для ньюфага, конечно, лучше самому сделать, могу потом подкинуть в этот тред идейки.
Anonymous No.3697
>>3694
> опенсорс который не продашь никому
Но можно продать свои услуги по его поддержке и доработке. Прыщеадмин зарабатывает не меньше программиста.
Anonymous No.3698
>>3696
Откуда добывать информацию для написания программ, помимо документации? На каких-нибудь форумах распрашивать? Вот я щас сказал, что хочу написать чат с шифрованием, но без понятия вообще с чего начать пилить эту программу, то есть в какую сторону копать не знаю.
Anonymous No.3699
>>3698
Начни с разбивания основной задачи на мелкие подзадачи и решения их по отдельности.
Anonymous No.3700
>>3698
>Откуда добывать информацию
Не знаю, где оптимальнее всего, источники как правило различные статьи, исходники чужих програм. Если есть возможность, то лучше всегда спросить, вот как ты сейчас, если тебе не видно нужно направление.
В твоей конретно задаче нужно с простого начать, для начала твоя программа - бесконечный цикл, который поочерёдно опрашивает ввод пользователя, смотрит были ли входящие соединения по сети, отправляет сообщения и тп.
Anonymous No.3701
>>3689
Найди демку текстового чатах (их в сети полно - такую чтобы там одно окно с текстом, ниже полоска ввода сообщения и две кнопки отправить/подключиться), внимательно изучи код, и после на функции отправки-приёма сообщений навешивай шифрование или что тебе нужно.

Для чата с шифрованием не нужно winapi, к тому же интерфейс программ на winapi делать очень муторно, и по виду он довольно мерзкий - лучше возьми либу для UI. Или сразу qt - где наверное даже шифрование можно добавить как элемент из коробки.
Не в смысле, что не нужно - а в смысле, что это как писать веб-сервер на ассемблере, как мне кажется.

Winapi нужно, если ты хочешь настроить на компьютере стрим, так чтобы у зрителей была отдельная регулировка громкости игры и громкости музыки (две отдельные аудиодорожки) - а ты при этом слушал музыку как тебе удобно со своей громкостью и в канал с игрой звуки попадать не должны. Вот тут без winapi не разобраться, и ни в одной либе такого функционала скорее всего не будет - потому что ты будешь использовать нераспространённые функции ос, для которых никаких либ особо не существует.
А чат с шифрованием - тьфу, его можно на питоне написать или джаваскрипте в браузере (тут год назад анончик целый распределённый файлообменник на джаваскрипте в браузере выкладывал, вроде бы), зачем тебе это си?
Anonymous No.3702
>>3701
СИ - отличный язык, для написания системных штук. К примеру, в этом чате ему надо делать неблокирующее io, как только прояснится в голове можно сделать шедулер через виндовый аналог epoll.
Брать готовое не советую, делай всё на первых этапах как можно проще и велосипеднее, уложив необходимое в голове в прочный фундамент, усложняй реализацию.
Anonymous No.3715
>>3673 (OP)
https://ru.wikipedia.org/wiki/Процесс_разработки_программного_обеспечения
Anonymous No.3801
>>3675
А главное - нахуя
Anonymous !Panurg4oAs No.4021
gnu
Anonymous No.4068
>>3683
Тебе надо было стать художником
Anonymous No.4070
Интересно, стал ли оп наносеком. Сам вяло вкатываюсб в сишарп, не знаю зойчем и что с этим делать игрульки для дебилов на юнити, но мне пока интересно.
Anonymous No.4071
>>4070
>Интересно, стал ли оп наносеком
Вангую, что нет.
По крайней мере, знания программирования на процедурном языке и основы WinAPI этого мягко говоря недостаточно.
Anonymous No.4072
>>4071
Ну понятно, что недостаточно. Но мб хотя бы в джуны вкатился и начал на практике опыт качать.
Anonymous No.4073
>>4070
>юнити
RIP

[Назад] [Обновить тред] [Вверх] [Каталог] [ Автообновление ]
38 / 3 / 13

[Ответить в тред] Ответить в тред

15000

Ответ в тред No.3673
Настройки
Избранное
Топ тредов