Is it possible to create a bootloader in C ++ (to download from the command line)? Like wget in Ubuntu. What do I need to learn for this? What are operators or functions? Please share articles (you can just have titles, I will find about them myself) that will help me to create such a program. Thank you in advance.

  • 2
    1. You can download wget for windows and not bathe. 2. You can download the wget source and see how it’s done. - insolor
  • Do you have academic interest or practical? If the first has already been answered, if the second is not necessary to reinvent the wheel, there are a lot of ready-made classes and libraries. - user5396
  • in programming, if you do not reinvent the wheel, you will not go forward! I do not want to use ready-made, you understand, then I will not be a programmer. I do not need something ready, I have to torment myself with something to understand how it works and what each line does, only so I can accumulate knowledge and move forward. - navi1893

3 answers 3

  1. sockets
  2. protocols http and ftp, you can eventually get acquainted with https and ftps.
  3. It would be nice to get acquainted with multithreaded programming - he once wrote a simple ftp-rocking, and the threads were very useful.

    If you create a loader, then read first about Berkeley sockets. And if you are already familiar with networking, you need to clarify the task. Finally, get to know how wget itself communicates with servers using traffic analyzers.

    • No, I am not familiar with working with the network. What advise you to read for this? ie to work with the network? - navi1893
    • rsdn.ru/article/unix/sockets.xml for a start to get acquainted with this article. Then look for answers to specific questions. - Stas Litvinenko

    wget and under windows is. No one bothers to download the source, and then look at them. Incomprehensible features to ask. In parallel, it is worth reading rfc over http and ftp protocols to understand what needs to be sent to the socket, and what to read from there.