1. Ну я просто хотел поболтать, а поскольку думал что никто не ответет, то сейчас занимаюсь Ada и Unity.
2. Ну возможно из-за прав доступа. Вроде как всем, ну кроме текущего пользователя можно "читать, и исполнять" и это как-бы противоречит, так-как у меня текущий пользователь "Администратор", которому ничего нельзя делать. И программа из которой я запускаю waveread.exe называется Far Manager которая имеет доступ "Администратора". Просто возможно происходит, отказ доступа этой программе на чтение файла tada.wav в папке C:\Windows\Media. Хотя сейчас эти права полная туфта, и уязвимость нулевого дня возможна в два счёта, так-как уязвимость может находится в ядре ОС, или в драйверах, а для уязвимостей Meltdown и Spectre вообще просто... Так-же возможно почему не читает файл, потому-что может быть это не сама директория, а какая-нибудь ссылка на директорию, или имеет какую-нибудь специальную атрибуту.
3. Потом значит вот это:
// см. тут http://www.c-cpp.ru/books/operator-sizeof
printf("\n%d %d", sizeof(WAVHEADER), sizeof(h));
//выдаёт: 44 44
так-как структура имеет фиксированную длину, она хоть при sizeof(WAVHEADER) будет 44 и хоть при sizeof(h) 44. Единственное отличие, что в первом случае выдаёт размер структуры, а во втором случае размер переменной.
4. "char buf[sz]" это нормально, так-как в Си++, переменные можно объявлять хоть где, я имею ввиду за пределами начала функции main, у учителя который нас в колледже учил, у него в примерах часто видел такой код:
...
#define MAX_SIZE 100
...
int main(int argc, char **argv) {
...
//тут к примеру
char buf[MAX_SIZE+1];
gets(buf);
...
printf("%s", buf);
...
Не знаю как это выглядет в ассемблере и в машинном коде. Возможно такие переменные компилятор во время комиляция переделывает в это:
char *buf;
buf = (char *)malloc(MAX_SIZE+1);
...
free(buf);
но обычно переменные и константы в ассемблере/нативном коде, вроде как понимаю идут в самом начало в exe-шнике, типа:
jmp main
buf DW ' $'
buf DW 'Hello World!$'
main:
...
5. В будние дни время только макс. 2 часа в день (сегодня исключение), я пишу проги очень быстро, поэтому могут ошибки, делаю я только то, что мне интересно, а не то что нужно, и лично для своего удовольствия, вот так-же как художник который каждый день рисует для себя картины, или так-же как музыкант играющий на гитаре.
6. Может быть я и Hello World-щик, но когда мы проходили в колледже Cи++ и Cи++ .NET, учитель сказал чтобы моя соседка по парте в колледже именно меня спрашивала, так-как я более менее разбирался в этом (у нас все парты были рядом, а когда были экзамены ставили перегородки), я почти за неё проект весь сделал, нужно было в базу данных спомощью ado net обрабатывать, какие-то данные запихивать в БД, и считывать их в сетку, и вывод на печать, проект там был для какого-то клуба или кружка... И на Си++ .NET и C# NET перейти было просто, и как уже писал освоить можно быстро, потому-что многие компоненты, методы похожи с времён VB6. Потом помню ко мне другой однокурсник из колледжа доставал, через скайп, мол чтобы я сделал ему программу на Си++ чтобы мышь сама двигалась и нажатия кнопок мыши имитировалось... У них навыков вообще никаких нет, так-как в колледже забивают голову этими языками: PHP, Perl, Java, VBA, MySQL, MS-SQL, Си++, C#, ABAP, HTML, CSS, JavaScript, всё изучается параллельно, единственное что ещё помню, что класс делился на две группы, пока одна группа изучает языки программирования, другая группа занимаются практически (то есть была у одних теория, а у других параллельно практика), а потом менялись. А раз они ко мне пристовали с помощью, значит у меня есть какие-то знания в этом, ибо учитель бы не сказал бы ей чтобы у меня спрашивал. Ну а так да, если бы не я, она бы загрузила бы учителя, и он бы за неё всю программу бы сделал, и времени учить нас не было. Некоторые вещи я подзабыл, и трудно держать в голове когда прогаешь то на одном языке, потом на другом, потом на 10м, или спонтанно их меняешь, по настроению. Я говорю серьёзно, многие устроились программистами сразу после окончание колледжа, потому-что в 12м классе стажировка на фирме, хоть они и Hello Worldщики в программирование, и в колледже минимум теорию, как больше практики, (ну за исключением шаблонов проектирования), но как-то всё равно они умудряются зацепиться на фирме, хоть обычно фирмы требуют минимум 3 года опыта. Спросите их что такое класс, они будут глазами хлопать, так-как практики больше, и теория быстро забывается за ненадобностью, типа сдал и забыл.
P.S. Всё я баинькать.
Сообщение отредактировал lexx821: 17.09.2019, 03:49:37