ну а мне надо знать что железка конкретно делает, а изучать придуманные микрософтом объекты не воодушевляет. ну не понимаю я так.
» Вопросы по программированию на C/С++
bomzzz
То есть ты хочешь написать свой IE, вместо того чтобы использовать готовый объект IE? Не хилый замах. При чём сам же мне предлагал 3 раза использовать вызовы WinAPI, что по сути и есть готовые объекты.
Посмотри пример использования объекста IE в своём GUI.
То есть ты хочешь написать свой IE, вместо того чтобы использовать готовый объект IE? Не хилый замах. При чём сам же мне предлагал 3 раза использовать вызовы WinAPI, что по сути и есть готовые объекты.
Посмотри пример использования объекста IE в своём GUI.
ну я сам когда программку писал, то использовал winsocks32 - ничего особо сложного, но потом подумал, что моя реализация HTTP протокола может быть не надежной и переделал все на wininet. но после очередного обновления IE горько пожалел
а первый вариант програмки работает нормально, только я уже забыл код, надо разбираться считай по новой. а я там накрутил с псевдологикой. никогда уже не разберусь
а первый вариант програмки работает нормально, только я уже забыл код, надо разбираться считай по новой. а я там накрутил с псевдологикой. никогда уже не разберусь
Как создать массив, который содержит текстовые данные? И как можно изменить содержимое этих данных?
Судя по описанию я нашёл только символьный массив. Посмотрев видео уроки rwiwnr461 понял что массив можно сделать на основе массива указателей, но опять же длина ячейки массива указана конкретно, например 15 символов. Я хочу поместить в ячейку 17 символов. Из описания я понял, что создать новую переменную с тем же именем не могу, присвоить больше указанного не могу, выходит мне надо удалить адрес переменной и создать новую получив её указатель и присвоить адрес указателя ячейке массива?
Судя по описанию я нашёл только символьный массив. Посмотрев видео уроки rwiwnr461 понял что массив можно сделать на основе массива указателей, но опять же длина ячейки массива указана конкретно, например 15 символов. Я хочу поместить в ячейку 17 символов. Из описания я понял, что создать новую переменную с тем же именем не могу, присвоить больше указанного не могу, выходит мне надо удалить адрес переменной и создать новую получив её указатель и присвоить адрес указателя ячейке массива?
Пример на основе того-же кода поиска файлов:
[more]#ifndef UNICODE
#define UNICODE //так как ожидаем не английские названия файлов тоже, включаем unicode кодировку
#endif
#ifndef _UNICODE
#define _UNICODE
#endif
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#pragma optimize("s", on) //для удобства отладки на OllyDbg
#define NUM_MAX 500000 //max ожидаемое количество файлов, но предусмотрен механизм динамического увеличения max количества записей
typedef struct { //тут будем хранить указатели на названия файлов, текущее положение в массиве, объём массива
int count;
int max;
short* entries;
} PACK;
void find_files(wchar_t* wrkdir, PACK** ptr) //рекурсивная ф-я поиска файлов
{
int i;
PACK *p, *newPack;
HANDLE hFile;
WIN32_FIND_DATA file_data;
wchar_t wrkdirtemp[MAX_PATH], buf[MAX_PATH], buf2[MAX_PATH];
if(!wrkdir || !wrkdir[0]) //проверка аргумента (рабочая директория) на пригодность к дальнейшей работе
return;
wcscpy(wrkdirtemp, wrkdir); //делаем копию для работы
if(wrkdirtemp[wcslen(wrkdirtemp)-1] != L'\\') //если нет, добавляем "\"
wcscat(wrkdirtemp, L"\\");
wsprintf(buf, L"%s*", wrkdirtemp); //добавляем "*", если надо что-то другое, можно передать через третий аргумент
hFile = FindFirstFile(buf, &file_data); //начинаем пойск
if(hFile == INVALID_HANDLE_VALUE)
return;
do //основная петля поиска
{
if(file_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) //если попали на директорию...
{
// if(wcscmp(file_data.cFileName, L".") && wcscmp(file_data.cFileName, L"..")) //..проверяем не текущая или родительская ли
if('.' == *(int*)&file_data.cFileName || (0x002e002e == *(int*)&file_data.cFileName && 0 == *(short*)((char*)file_data.cFileName + 4))) //то-же, только быстрее
continue; //если "." или "..", пропускаем
wsprintf(buf, L"%s%s", wrkdirtemp, file_data.cFileName); //иначе добавляем к рабочей копии директории
find_files(buf, ptr); //и уходим в нее рекурсивно
}
else //если на файл попали...
{
// if(!(file_data.dwFileAttributes & (FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM))) //и он не скрытый и не системный
// wprintf(L"%s%s\n", wrkdirtemp, file_data.cFileName); //печатаем
p = *ptr; //указатель на структуру
if(p->count >= p->max) //есть место ещё?
{
i = p->max * 2; //нет, делаем размер 2 раза больше
newPack = malloc(i * sizeof(void*) + sizeof(int) * 2); //выделяем память под новую структуру
newPack->max = i; //переносим туда всё с старой переполненной
newPack->count = p->count;
memcpy(&newPack->entries, &p->entries, p->count * sizeof(void*));
free(p); //и удаляем старую
p = newPack; //правим указатели на новую структуру чтобы указывали
*ptr = newPack;
}
i = wsprintf(buf2, L"%s%s\n", wrkdirtemp, file_data.cFileName); //формируем "path"+"filename", получаем его длину
*(&p->entries + p->count) = malloc((i + 1) * 2); //выделяем для него память, указатель на которую сохраняем в текущее положение массива
memcpy(*(&p->entries + p->count), buf2, (i + 1) * 2); //и копируем в эту память "path"+"filename"
++p->count; //инкрементируем указатель на текущее положение в массиве
}
} while (FindNextFile(hFile, &file_data)); //и так далее, пока все файлы в текущей директории не найдены
FindClose(hFile);
}
main()
{
int i;
PACK* p;
p = malloc(NUM_MAX * sizeof(void*) + sizeof(int) * 2); //выделяем память под структуру указателей названий файлов
p->count = 0; //инициализируем указатель на текущее положение в массиве
p->max = NUM_MAX; //и размер массива
find_files(L"C:", &p); //заполняем структуру
find_files(L"Z:", &p);
// sort_files(&p); //если надо, сортируем
_setmode(_fileno(stdout), _O_U16TEXT); //подготавливаем печать в unicode, чтобы не английские названия тоже печатались
for(i = 0; i < p->count; ++i)
{
wprintf(L"%s", *(&p->entries + i)); //печатаем из массива
free(*(&p->entries + i)); //и освобождаем память элемента массива
}
free(p); //удаляем структуру
}[/more]
Файлы с путями сначала заносятся в массив, потом выводятся на консоль уже из массива.
[more]#ifndef UNICODE
#define UNICODE //так как ожидаем не английские названия файлов тоже, включаем unicode кодировку
#endif
#ifndef _UNICODE
#define _UNICODE
#endif
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#pragma optimize("s", on) //для удобства отладки на OllyDbg
#define NUM_MAX 500000 //max ожидаемое количество файлов, но предусмотрен механизм динамического увеличения max количества записей
typedef struct { //тут будем хранить указатели на названия файлов, текущее положение в массиве, объём массива
int count;
int max;
short* entries;
} PACK;
void find_files(wchar_t* wrkdir, PACK** ptr) //рекурсивная ф-я поиска файлов
{
int i;
PACK *p, *newPack;
HANDLE hFile;
WIN32_FIND_DATA file_data;
wchar_t wrkdirtemp[MAX_PATH], buf[MAX_PATH], buf2[MAX_PATH];
if(!wrkdir || !wrkdir[0]) //проверка аргумента (рабочая директория) на пригодность к дальнейшей работе
return;
wcscpy(wrkdirtemp, wrkdir); //делаем копию для работы
if(wrkdirtemp[wcslen(wrkdirtemp)-1] != L'\\') //если нет, добавляем "\"
wcscat(wrkdirtemp, L"\\");
wsprintf(buf, L"%s*", wrkdirtemp); //добавляем "*", если надо что-то другое, можно передать через третий аргумент
hFile = FindFirstFile(buf, &file_data); //начинаем пойск
if(hFile == INVALID_HANDLE_VALUE)
return;
do //основная петля поиска
{
if(file_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) //если попали на директорию...
{
// if(wcscmp(file_data.cFileName, L".") && wcscmp(file_data.cFileName, L"..")) //..проверяем не текущая или родительская ли
if('.' == *(int*)&file_data.cFileName || (0x002e002e == *(int*)&file_data.cFileName && 0 == *(short*)((char*)file_data.cFileName + 4))) //то-же, только быстрее
continue; //если "." или "..", пропускаем
wsprintf(buf, L"%s%s", wrkdirtemp, file_data.cFileName); //иначе добавляем к рабочей копии директории
find_files(buf, ptr); //и уходим в нее рекурсивно
}
else //если на файл попали...
{
// if(!(file_data.dwFileAttributes & (FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM))) //и он не скрытый и не системный
// wprintf(L"%s%s\n", wrkdirtemp, file_data.cFileName); //печатаем
p = *ptr; //указатель на структуру
if(p->count >= p->max) //есть место ещё?
{
i = p->max * 2; //нет, делаем размер 2 раза больше
newPack = malloc(i * sizeof(void*) + sizeof(int) * 2); //выделяем память под новую структуру
newPack->max = i; //переносим туда всё с старой переполненной
newPack->count = p->count;
memcpy(&newPack->entries, &p->entries, p->count * sizeof(void*));
free(p); //и удаляем старую
p = newPack; //правим указатели на новую структуру чтобы указывали
*ptr = newPack;
}
i = wsprintf(buf2, L"%s%s\n", wrkdirtemp, file_data.cFileName); //формируем "path"+"filename", получаем его длину
*(&p->entries + p->count) = malloc((i + 1) * 2); //выделяем для него память, указатель на которую сохраняем в текущее положение массива
memcpy(*(&p->entries + p->count), buf2, (i + 1) * 2); //и копируем в эту память "path"+"filename"
++p->count; //инкрементируем указатель на текущее положение в массиве
}
} while (FindNextFile(hFile, &file_data)); //и так далее, пока все файлы в текущей директории не найдены
FindClose(hFile);
}
main()
{
int i;
PACK* p;
p = malloc(NUM_MAX * sizeof(void*) + sizeof(int) * 2); //выделяем память под структуру указателей названий файлов
p->count = 0; //инициализируем указатель на текущее положение в массиве
p->max = NUM_MAX; //и размер массива
find_files(L"C:", &p); //заполняем структуру
find_files(L"Z:", &p);
// sort_files(&p); //если надо, сортируем
_setmode(_fileno(stdout), _O_U16TEXT); //подготавливаем печать в unicode, чтобы не английские названия тоже печатались
for(i = 0; i < p->count; ++i)
{
wprintf(L"%s", *(&p->entries + i)); //печатаем из массива
free(*(&p->entries + i)); //и освобождаем память элемента массива
}
free(p); //удаляем структуру
}[/more]
Файлы с путями сначала заносятся в массив, потом выводятся на консоль уже из массива.
никто случайно не знает зачем нужен файл stub512.com ? чета не могу найти ничего толкового написаного
Это первые байты каждой на MCC собранной программы.
При помощи ключа /STUB:mystub.bin линкру можно дать команду использовать другой stub.
При помощи ключа /STUB:mystub.bin линкру можно дать команду использовать другой stub.
немного просветления есть. а что то читануть простенькое и короткое по этому поводу можно?
сенки
Добавлено:
гыгы проста
Добавлено:
а как MSDIS[номер].dll использовать? чета ее похоже зря в масм ложат, они ни одной программе не нужна
Добавлено:
гыгы проста
Добавлено:
а как MSDIS[номер].dll использовать? чета ее похоже зря в масм ложат, они ни одной программе не нужна
link /dump /disasm some.exe >some.asm
сенки.
AZJIO, я тоже С хочу освоить. И пока не получается. Спасибо за ссылку на "Полный справочник по С". Я нашел его в pdf . Уже несколько раз задавал вопрос по поводу МС Визуал С++. Все таки, интересно знать и разных версиях и чем лучше пользоваться.
Для обучения вполне досточно Express'a.
Потом, если понадобится 64bit или ml.exe для ассемблера, можно и Standard или Pro установить.
http://msdn.microsoft.com/en-us/library/hs24szh9%28v=vs.80%29.aspx
Потом, если понадобится 64bit или ml.exe для ассемблера, можно и Standard или Pro установить.
http://msdn.microsoft.com/en-us/library/hs24szh9%28v=vs.80%29.aspx
Могу выложить некоторые учебники, если кто хочет:
С++ для чайников, С++ за 21 день...
Библия delphi.djvu
Основы программирования для чайников, 4-е издание.pdf
Дэвис C. C++ для чайников (5-е издание, 2007).pdf
Ну и постом выше - "Полный справочник по С". Он мне, кстати, больше всех понравился.
ne_viens, спасибо за ответ. А такая же ссылка, только по-русски есть? И Express у меня есть ДВД версия и какая-то по-меньше, около 800 МВ. Какую ставить лучше? Та, что меньше, может работает с библиотеками на сайте МС или нет?
Добавлено:
Один человек рекомендовал изучать программирование в такой последовательности:
1. Pascal + освоение алгоритмической базы и структур данных (примерно 3 месяца - полгода интенсивного изучения)
За это время необходимо освоить базовые знания по алгоритмам и
структурам данных
1. циклы (пост и пред)
2. условия
3. switch
4. ввод / вывод / файлы
5. арифметические операции
6, массивы
7. матрицы
8. деревья разные
9. списки разные
10. алгоритмы работы с этими данными, хранение, обработка, сортировка и т.д.
11. Базовые понятия по компиляции и сборке, и т.д.
подойдет любой университетский учебник по алгоритмам и структурам данных
а лучше лекции найди ВМиК мгу в открытом доступе наверняка есть
2. Далее ASM 32bit (ассемблер, лучше 32-х битный, т.к. 16-битный уже немного неактуален, а те ограничения, что в нём используются, могут привести в дальнейшем к замешательству.) (срок 3 - 6 месяцев интенсивного изучения)
Цель познакомиться с низкоуровневым программированием, получить потяние о том как программа взаимодействует с оборудование, знания об архитектуре ЭВМ.
Считаю что данный шаг ни в коем случае пропускать нельзя, т.к. любое более менее качественное программирование на любом из языков программирования выского уровня подразумевает отладку и оптимизацию, а без знаний asm и архитектуры современных эвм, этого сделать просто невозможно.
Подойдет любой практический учебник по ASM
Книги по архитектуре современным ЭВМ
История развития архитектуры ЭВМ (возможно понадобится для более доступного понимания книг по современным архитектурам)
3. Язык С (язык СИ именно СИ, а не СИ ПЛЮС ПЛЮС) (3 - 6 месяцев)
Именно этот язык, потому что большинство современных языков имеют СИ подобный синтаксис, вот небольшой пример их:
C / C++ / C# / PHP 4 / PHP 5.x / JavaScript и другие.
Освоив язык СИ и его синтаксис вы достаточно быстро сможете ориентироваться в коде написанном на любом из языков, имеющим СИ подобный синтаксис. Это поможет вам находить и достаточно быстро разбирать примеры уже готовых решений.
Вторая причина выбора языки СИ, это особенность языка СИ позволяющая ему быть не просто структурным функциональным языком программирования, а в тоже время иметь ряд преимуществ низкоуровневого языка программирования.
Книга Керниган Ричи язык СИ
Любой практический задачник
Изучение лучше осуществлять под ОС семейства Unix
Попутно освоив следующие инструменты bash / make / gcc / gdb / командная строка ос cемейства Unix
4. Язык С++ (СИ ПЛЮС ПЛЮС) (3 - 6 месяцев)
Основная цель понятия принципы объектно ориентированного программирования и закрепить их на практики.
С++, а не любой другой язык ООП, потому что с к нему наиболее просто перейти от языка С.
Книга Страунструп С++
Учите язык по стандарту, а не с использованием каких-то частных реализаций
После года- двух лет интенсивного обучения по этой программе вы сможете овладетель практически без труда любым языком ООП.
Дальше вас ждёт многолетняя практика, так как только практика дает опыт, 80% всех задач, которые вам будут встречаться однотипны, и при многолетнем опыте у вас практически на все будут готовые почти готовые решения.
Если кто собирается работать в крупных компания и заниматься разработкой не помеашет еще овладеть следующими технологиями:
Системы контроля версий:
subversion / git / cvs
Языком моделирования :
uml
Патерны проектирования, хотя бы основные, умение применять их на практики.
Принципы SOLID:
http://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29
Овладев этими знаниями вы сможете уже притендовать на ведущие позиции в крупных российских и международных компаниях по разработке программного обеспечения.
Всем желаю удачи! Все изложенное выше, является моим личным мнением и может отличаться от вашего, однако было проверено на практике.
С++ для чайников, С++ за 21 день...
Библия delphi.djvu
Основы программирования для чайников, 4-е издание.pdf
Дэвис C. C++ для чайников (5-е издание, 2007).pdf
Ну и постом выше - "Полный справочник по С". Он мне, кстати, больше всех понравился.
ne_viens, спасибо за ответ. А такая же ссылка, только по-русски есть? И Express у меня есть ДВД версия и какая-то по-меньше, около 800 МВ. Какую ставить лучше? Та, что меньше, может работает с библиотеками на сайте МС или нет?
Добавлено:
Один человек рекомендовал изучать программирование в такой последовательности:
1. Pascal + освоение алгоритмической базы и структур данных (примерно 3 месяца - полгода интенсивного изучения)
За это время необходимо освоить базовые знания по алгоритмам и
структурам данных
1. циклы (пост и пред)
2. условия
3. switch
4. ввод / вывод / файлы
5. арифметические операции
6, массивы
7. матрицы
8. деревья разные
9. списки разные
10. алгоритмы работы с этими данными, хранение, обработка, сортировка и т.д.
11. Базовые понятия по компиляции и сборке, и т.д.
подойдет любой университетский учебник по алгоритмам и структурам данных
а лучше лекции найди ВМиК мгу в открытом доступе наверняка есть
2. Далее ASM 32bit (ассемблер, лучше 32-х битный, т.к. 16-битный уже немного неактуален, а те ограничения, что в нём используются, могут привести в дальнейшем к замешательству.) (срок 3 - 6 месяцев интенсивного изучения)
Цель познакомиться с низкоуровневым программированием, получить потяние о том как программа взаимодействует с оборудование, знания об архитектуре ЭВМ.
Считаю что данный шаг ни в коем случае пропускать нельзя, т.к. любое более менее качественное программирование на любом из языков программирования выского уровня подразумевает отладку и оптимизацию, а без знаний asm и архитектуры современных эвм, этого сделать просто невозможно.
Подойдет любой практический учебник по ASM
Книги по архитектуре современным ЭВМ
История развития архитектуры ЭВМ (возможно понадобится для более доступного понимания книг по современным архитектурам)
3. Язык С (язык СИ именно СИ, а не СИ ПЛЮС ПЛЮС) (3 - 6 месяцев)
Именно этот язык, потому что большинство современных языков имеют СИ подобный синтаксис, вот небольшой пример их:
C / C++ / C# / PHP 4 / PHP 5.x / JavaScript и другие.
Освоив язык СИ и его синтаксис вы достаточно быстро сможете ориентироваться в коде написанном на любом из языков, имеющим СИ подобный синтаксис. Это поможет вам находить и достаточно быстро разбирать примеры уже готовых решений.
Вторая причина выбора языки СИ, это особенность языка СИ позволяющая ему быть не просто структурным функциональным языком программирования, а в тоже время иметь ряд преимуществ низкоуровневого языка программирования.
Книга Керниган Ричи язык СИ
Любой практический задачник
Изучение лучше осуществлять под ОС семейства Unix
Попутно освоив следующие инструменты bash / make / gcc / gdb / командная строка ос cемейства Unix
4. Язык С++ (СИ ПЛЮС ПЛЮС) (3 - 6 месяцев)
Основная цель понятия принципы объектно ориентированного программирования и закрепить их на практики.
С++, а не любой другой язык ООП, потому что с к нему наиболее просто перейти от языка С.
Книга Страунструп С++
Учите язык по стандарту, а не с использованием каких-то частных реализаций
После года- двух лет интенсивного обучения по этой программе вы сможете овладетель практически без труда любым языком ООП.
Дальше вас ждёт многолетняя практика, так как только практика дает опыт, 80% всех задач, которые вам будут встречаться однотипны, и при многолетнем опыте у вас практически на все будут готовые почти готовые решения.
Если кто собирается работать в крупных компания и заниматься разработкой не помеашет еще овладеть следующими технологиями:
Системы контроля версий:
subversion / git / cvs
Языком моделирования :
uml
Патерны проектирования, хотя бы основные, умение применять их на практики.
Принципы SOLID:
http://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29
Овладев этими знаниями вы сможете уже притендовать на ведущие позиции в крупных российских и международных компаниях по разработке программного обеспечения.
Всем желаю удачи! Все изложенное выше, является моим личным мнением и может отличаться от вашего, однако было проверено на практике.
dimon0476
Цитата:
Я бы вам не рекомендовал с паскаля начинать.
бейсикоподобный синтаксис мало общего с сями имеет,
начинайте прямо с Си - он не сложный, ну или возьмите хотя-бы C#.
Цитата:
Один человек рекомендовал изучать программирование в такой последовательности:
1. Pascal + освоение алгоритмической базы и структур данных (примерно 3 месяца - полгода интенсивного изучения)
Я бы вам не рекомендовал с паскаля начинать.
бейсикоподобный синтаксис мало общего с сями имеет,
начинайте прямо с Си - он не сложный, ну или возьмите хотя-бы C#.
паскаль с бейсиком ничего общего не имеет. правда современный бейсик тоже ничег общего с бейсиком не имеет
bomzzzа вы на синтаксис посмотрите, паскаль хоть и уникальный, но всё-же больше напоминает бейсик чем Си.
в вики так-же сказано:
In the early 1980s, UCSD Pascal was ported to the Apple II and Apple III computers to provide a structured alternative to the BASIC interpreters that came with the machines.
Many PC hobbyists in search of a structured replacement for BASIC used this product.
Человек изучавший бейсик быстрее привыкнет к паскалевскому синтаксису нежели к сишному.
Не стоит изучать паскаль чтобы изучать Си - они очень не похожи.
впрочем это лишь моё мнение.
в вики так-же сказано:
In the early 1980s, UCSD Pascal was ported to the Apple II and Apple III computers to provide a structured alternative to the BASIC interpreters that came with the machines.
Many PC hobbyists in search of a structured replacement for BASIC used this product.
Человек изучавший бейсик быстрее привыкнет к паскалевскому синтаксису нежели к сишному.
Не стоит изучать паскаль чтобы изучать Си - они очень не похожи.
впрочем это лишь моё мнение.
борладвский бейсик и его фирменные аналоги под большие машины (когда не было персоналок а были терминалы) это и есть бейсик. потом его купил микрософт, ввел в него элементы паскаля - ну это как раз неплохо получилось, логика осталась прежняя, а из паскаля подрезали все удобное. а потом... потом микрософт бейсик похоронил, а с ним и ассемблер.
мне на новом бейсике программы попадались я там вообще ничего не понимаю - ничего общего нет, одно название осталось
вот на турбо писал не так давно по старой памяти
[more]data "ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї"
data "і і"
data "і Download Master Doctor - VERSION 1.0 і"
data "і ќв Їа®Ја ¬¬ г¤ «пҐв б«г¦ҐЎ-го Ё-д®а¬ жЁЁ Download Master- Ё -г«ҐўлҐ і"
data "і Ў ©вл г бЎ®©-ле, -Ґ¤®Є зҐ-ле д ©«®ў, бЄ з --ле ў ®¤Ё- Ї®в®Є. і"
data "і „Ґ©бвўЁҐ -Ґ ¬®¦Ґв Ўлвм ®в¬Ґ-Ґ-®. •®а®иҐ-мЄ® Ї®¤г¬ ©вҐ Ї®-Ё¬ ҐвҐ «Ё ‚л в®, і"
data "і зв® ¤Ґ« ҐвҐ. Џа®Ја ¬¬ а бЇа®бва -пҐвбп 'зв® Ѓ®Ј Ї®б« «', д ©«л ®Ў¬Ґ-г Ё і"
data "і ў®§ўа вг -Ґ Ї®¤«Ґ¦ в, -ЁЄ ЄЁе ЇаҐвҐ-§Ё© Ѓ®¬¦Ё -Ґ ЇаЁ-Ё¬ ов. і"
data "і Џа®Є®-бг«мвЁаг©вҐбм ЇаҐ¤ў аЁвҐ«м-® Ќ д®а㬥 Download Master- і"
data "і - -г¦-® «Ё ‚ ¬ в®, зв® ўл ¤Ґ« ҐвҐ. і"
data "і http://downloadmaster.ru/forum/index.php і"
data "і ЏҐаҐЁ¬Ґ-г©вҐ 楫Ґў®© д ©« ў BOMZ.DMF Ё Ї®¬ҐбвЁвҐ ҐЈ® ў ®¤-г ¤ЁаҐЄв®аЁо і"
data "і б Download Master Doctor-®¬. “бЇҐе®ў!!! і"
data "і і"
data "і і"
data "і і"
data "і і"
data "і і"
data "АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ"
data "ЌЂ†Њ€… ‹ћЃ“ћ Љ‹Ђ‚€˜“"
data " "
screen 0, 1
color 15, 1
key off
cls
l%=0
1 read scr$
print scr$;
l%=l%+1
on l%-18 goto 2
goto 1
2 read scr1$
read scr2$
color 14, 1
3 locate 18, 29
print scr1$
delay 0.35
locate 18, 29
print scr2$
delay 0.35
on len(inkey$)+1 goto 3
locate 18, 29
print scr$
OPEN "B", #1, "BOMZ.DMF"
L&=LOF(1)
LOCATE 20, 1
PRINT " ђ §¬Ґа ў 襣® д ©« "; L&; "Ў ©в"
INPUT; " …б«Ё ўл ҐйҐ е®вЁвҐ г¤ «Ёвм б«г¦ҐЎ-го Ё-д®а¬ жЁо - ¦¬ЁвҐ Enter", A
I&=L&-1000
I&=I&*SGN(SGN(I&)+1)
SEEK #1, I&
X$=""
PUT$ #1, X$
CLOSE #1
BEEP
OPEN "B", #1, "BOMZ.DMF"
I&=LOF(1)
U$=STRING$(16000, 0)
10 Y$=""
I&=I&-16000
I&=I&*SGN(SGN(I&)+1)
SEEK #1, I&
GET$ #1, 16000, Y$
IF Y$=U$ AND I&<>0 THEN 10
CLOSE #1
L&=LEN(Y$)
R&=L&
100 R&=INT((R&+1)/2)
IF RIGHT$(LEFT$(Y$, L&), R&) = STRING$(R&, 0) THEN L&=L&-R&
IF R&=1 OR R&=0 THEN 200
GOTO 100
200 PRINT " ЏҐаўл© -Ґ-г«Ґў®© Ў ©в а бЇ®«®¦Ґ- - Ї®§ЁжЁЁ"; I&+L&
INPUT; " ¤«п г¤ «Ґ-Ёп -г«Ґўле Ў ©в®ў - ¦¬ЁвҐ Enter", A
OPEN "B", #1, "BOMZ.DMF"
SEEK #1, I&+L&
PUT$ #1, X$
CLOSE #1
BEEP[/more]
Добавлено:
подскажите пожалуйста такую вещь. может я неправильно говорю только:
вот есть библиотеки в которых только таблица импорта(?) а есть статические (?) в которых еще сам код содержится и если делать программу с ней, то сама дллка программе будет не нужна, весь нужный код встроится в программу (правда она получится тяжелее) кому какие команды надо дать чтоб используя статическую библиотеку все же получить программу которая код не загружает?
мне на новом бейсике программы попадались я там вообще ничего не понимаю - ничего общего нет, одно название осталось
вот на турбо писал не так давно по старой памяти
[more]data "ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї"
data "і і"
data "і Download Master Doctor - VERSION 1.0 і"
data "і ќв Їа®Ја ¬¬ г¤ «пҐв б«г¦ҐЎ-го Ё-д®а¬ жЁЁ Download Master- Ё -г«ҐўлҐ і"
data "і Ў ©вл г бЎ®©-ле, -Ґ¤®Є зҐ-ле д ©«®ў, бЄ з --ле ў ®¤Ё- Ї®в®Є. і"
data "і „Ґ©бвўЁҐ -Ґ ¬®¦Ґв Ўлвм ®в¬Ґ-Ґ-®. •®а®иҐ-мЄ® Ї®¤г¬ ©вҐ Ї®-Ё¬ ҐвҐ «Ё ‚л в®, і"
data "і зв® ¤Ґ« ҐвҐ. Џа®Ја ¬¬ а бЇа®бва -пҐвбп 'зв® Ѓ®Ј Ї®б« «', д ©«л ®Ў¬Ґ-г Ё і"
data "і ў®§ўа вг -Ґ Ї®¤«Ґ¦ в, -ЁЄ ЄЁе ЇаҐвҐ-§Ё© Ѓ®¬¦Ё -Ґ ЇаЁ-Ё¬ ов. і"
data "і Џа®Є®-бг«мвЁаг©вҐбм ЇаҐ¤ў аЁвҐ«м-® Ќ д®а㬥 Download Master- і"
data "і - -г¦-® «Ё ‚ ¬ в®, зв® ўл ¤Ґ« ҐвҐ. і"
data "і http://downloadmaster.ru/forum/index.php і"
data "і ЏҐаҐЁ¬Ґ-г©вҐ 楫Ґў®© д ©« ў BOMZ.DMF Ё Ї®¬ҐбвЁвҐ ҐЈ® ў ®¤-г ¤ЁаҐЄв®аЁо і"
data "і б Download Master Doctor-®¬. “бЇҐе®ў!!! і"
data "і і"
data "і і"
data "і і"
data "і і"
data "і і"
data "АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ"
data "ЌЂ†Њ€… ‹ћЃ“ћ Љ‹Ђ‚€˜“"
data " "
screen 0, 1
color 15, 1
key off
cls
l%=0
1 read scr$
print scr$;
l%=l%+1
on l%-18 goto 2
goto 1
2 read scr1$
read scr2$
color 14, 1
3 locate 18, 29
print scr1$
delay 0.35
locate 18, 29
print scr2$
delay 0.35
on len(inkey$)+1 goto 3
locate 18, 29
print scr$
OPEN "B", #1, "BOMZ.DMF"
L&=LOF(1)
LOCATE 20, 1
PRINT " ђ §¬Ґа ў 襣® д ©« "; L&; "Ў ©в"
INPUT; " …б«Ё ўл ҐйҐ е®вЁвҐ г¤ «Ёвм б«г¦ҐЎ-го Ё-д®а¬ жЁо - ¦¬ЁвҐ Enter", A
I&=L&-1000
I&=I&*SGN(SGN(I&)+1)
SEEK #1, I&
X$=""
PUT$ #1, X$
CLOSE #1
BEEP
OPEN "B", #1, "BOMZ.DMF"
I&=LOF(1)
U$=STRING$(16000, 0)
10 Y$=""
I&=I&-16000
I&=I&*SGN(SGN(I&)+1)
SEEK #1, I&
GET$ #1, 16000, Y$
IF Y$=U$ AND I&<>0 THEN 10
CLOSE #1
L&=LEN(Y$)
R&=L&
100 R&=INT((R&+1)/2)
IF RIGHT$(LEFT$(Y$, L&), R&) = STRING$(R&, 0) THEN L&=L&-R&
IF R&=1 OR R&=0 THEN 200
GOTO 100
200 PRINT " ЏҐаўл© -Ґ-г«Ґў®© Ў ©в а бЇ®«®¦Ґ- - Ї®§ЁжЁЁ"; I&+L&
INPUT; " ¤«п г¤ «Ґ-Ёп -г«Ґўле Ў ©в®ў - ¦¬ЁвҐ Enter", A
OPEN "B", #1, "BOMZ.DMF"
SEEK #1, I&+L&
PUT$ #1, X$
CLOSE #1
BEEP[/more]
Добавлено:
подскажите пожалуйста такую вещь. может я неправильно говорю только:
вот есть библиотеки в которых только таблица импорта(?) а есть статические (?) в которых еще сам код содержится и если делать программу с ней, то сама дллка программе будет не нужна, весь нужный код встроится в программу (правда она получится тяжелее) кому какие команды надо дать чтоб используя статическую библиотеку все же получить программу которая код не загружает?
Это зависит только от того, с какой lib линкуешь.
Если с той, в которой публичные символы ("таблица импорта"), то ехе будет загружать внешнюю dll, если с той в которой полноценный код- код будет статически слинкован в exe.
Если с той, в которой публичные символы ("таблица импорта"), то ехе будет загружать внешнюю dll, если с той в которой полноценный код- код будет статически слинкован в exe.
понятненька. спасипки. как статическую библиотеку делать сам вспомнил она из OBJ файла делается
Цитата:
или так
Цитата:
Цитата:
@echo off
color 9F
cd %~dp1
\masm32\bin\ml.exe /c /coff "%~1"
\masm32\bin\lib /out:%~n1.lib "%~n1.obj"
pause
или так
Цитата:
@echo off
color 0a
cd %~dp1
\masm32\bin\ml.exe /c /coff "%~1"
\masm32\bin\link.exe -lib "%~n1.obj" /out:%~n1.lib
del "%~n1.obj"
pause
utmost80
Цитата:
О каком же это вы бейсике говорите? Оригинальный бейсик ничего общего с паскалем не имеет. Это вообще неструктурный язык программирования, а паскаль структурный, как можно вообще сравнивать?
Сам начинал с бейсика, потом перешел на паскаль. Совершенно разные языки. Указатели еще в паскале начал изучать, так что на Си без проблем перешел. Заменил begin...end на фигурные скобки, да ключевые слова чуть-чуть по-другому расставил. А по сути то же самое.
Цитата:
bomzzzа вы на синтаксис посмотрите, паскаль хоть и уникальный, но всё-же больше напоминает бейсик чем Си.
О каком же это вы бейсике говорите? Оригинальный бейсик ничего общего с паскалем не имеет. Это вообще неструктурный язык программирования, а паскаль структурный, как можно вообще сравнивать?
Сам начинал с бейсика, потом перешел на паскаль. Совершенно разные языки. Указатели еще в паскале начал изучать, так что на Си без проблем перешел. Заменил begin...end на фигурные скобки, да ключевые слова чуть-чуть по-другому расставил. А по сути то же самое.
о классическом
Был разработан в 1963 году профессорами Дартмутского колледжа Томасом Курцем и Джоном Кемени.
да по сути все одно и тоже - ассемблер
Был разработан в 1963 году профессорами Дартмутского колледжа Томасом Курцем и Джоном Кемени.
да по сути все одно и тоже - ассемблер
у кого 2008 студия стоит, посмотрите можелуйста версию файла C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\ml.exe. после обновления у меня так и осталась 9.0.21022.8.
Цитата:
Microsoft (R) Macro Assembler Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
блин. у меня при установке получилась ошибка, видимо из за того, что я перед этим DDK поставил. и обновки скачались а не обновилось.
я такую версию как раз из ддка вытащил но там не все файлы есть
Добавлено:
гавняшка такая. опять ошибка при установке. вообщем ей надо vcredist сначала поставить, а потом она свои фреймворки тащит. 2005 2010 студии сами нормально встали. обновится или нет сейчас посмотрим
я такую версию как раз из ддка вытащил но там не все файлы есть
Добавлено:
гавняшка такая. опять ошибка при установке. вообщем ей надо vcredist сначала поставить, а потом она свои фреймворки тащит. 2005 2010 студии сами нормально встали. обновится или нет сейчас посмотрим
akaGM
дай пожалуста этих новых файлов, а то у меня опять не обновилось. не могу понять почему.
C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE
и если после обновления найдутся rc.exe rc.dll а то у меня их вообще нет
Добавлено:
а как вы решаете какая вам студия нужна?
дай пожалуста этих новых файлов, а то у меня опять не обновилось. не могу понять почему.
C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE
и если после обновления найдутся rc.exe rc.dll а то у меня их вообще нет
Добавлено:
а как вы решаете какая вам студия нужна?
даже не знаю. но уменя часть файликов есть сейчас сверю размеры
Добавлено:
то что у меня есть более модной версии 9.00.30729.208 не с чем сравнивать. да наверняка одно и тоже.
Добавлено:
то что у меня есть более модной версии 9.00.30729.208 не с чем сравнивать. да наверняка одно и тоже.
Цитата:
а как вы решаете какая вам студия нужна?
это мне что ли?
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
Предыдущая тема: не знаю как назвать тему :-)
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.