Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
19th
Авг
Компилятор csc не находит путь к файлу
установил Visual Studio 2008, пытаюсь откомпилировать файл TestApp.cs через командную строку визуала — не получается: пишет, что не найден путь. Кажется, error 2001cs дословно. (читать всё…)
8th
Дек
Свой компилятор (С++’о подобный)
в общем задался идеей такой(да собственно это уже не только идея)
основная затея была в составлении идеального ЯП(по своим меркам).
основное что я стараюсь делать, это совместимость с С++, то есть на моем компиле можно будет все так же писать С++ программы.
то есть по сути это выходит расширенный С++.
из планов это:
1)отсутствие Generic типов.
все типы(int и тд) будут обьявленны в специальном заголовочном файле, который гарантированно подключается до всего.
все что есть изначально в распоряжении это директива задания размера данным(типа db в асме)
2)директивы модификаторы, например к слову class.
что по необходимости включать например(причем и для всех его потомков тоже), метод GetClassName, и тп.
3)немного расширенный препроцессор
к примеру директива #file, позволяющая инициализировать переменными данными извне
4)за счет внешнего инклюдника с Generic, можно выбирать нужную версию в зависимости от проца(к примеру насчет SSE)
или же даже сделать виртуальную систему что сама будет адаптироватся к типу проца.
5)внешние инлайн функции(уже скомпиленные, естествествено функция в рамках моего формата обьектников)
то есть инлайн функции без раскрытия сорцов.
6)св-ва классам(мне их немного не хватает)
7)поддержка интерфейсов(как к примеру в Java)
то есть класс можно обьеденить с интерфейсом.
8)ну там мелочи насчет сборки мусора и тд(это опять же через модификаторы)
что думаете? (читать всё…)
5th
Май
Какие бывают компиляторы на С++?
1) Какие бывают компиляторы на С++ и где их качать? И чем вообще отличается например просто язык С++ от какого-то Visual C++.net? или от какого-то builder C++ что это вообще такое? .
2) У меня щас стоит Dev-Cpp, который прилагался с книгой про С++. Почему он делает приложения в консоле, без всякий, допустим диалоговых окон, во общем без интерфейса? неужели такой мощный язык только создаёт приложения в консоле? как же тогда с помощью него создают игры?
3) этот вопрос не относится к теме С++: что вообще за такие языки программирования, которые оканчиваются на .Net? (читать всё…)
27th
Фев
Компилятор домашнего приготовления. Часть 4
Знаете, я все думал: «С чего бы продолжить написание компилятора, какой следующий шаг важнее?». Описать механизм операторов? Так к ним неплохо бы переменные, и функции могут участвовать в операциях. Описать механизм функций, опять-таки они без операторов – ничто. Описать механизм переменных? Но далеко не все типы можно обработать без функций… Дилемма. И все же продолжать с чего-то надо. А раз надо – почему бы не продолжить с того, что первое придет в голову, все равно придеться много раз править проект все новыми и новыми «фичами»…
27th
Компилятор домашнего приготовления. Часть 3
Всем доброго. В прошлой статье я описал как охладить в холодильнике квас, пока пишется ядро компилятора. Помните? Нет?! Странно… Впрочем, это не проблема. Наши журналы хранятся по адресу [1], так что освежить память – не проблема. Поскольку ядро, генерирующее PE файл готово (по минимуму, но готово) и его можно использовать для генерации исполняемого файла, то теперь вполне можно подумать более глобально (в общем, углубиться дальше в лес). Вообще, некоторым может понравиться писать прямо в опкодах, да еще в собственном компиляторе – это интересно и познавательно. Придется перелопатить кучу литературы, которая направит на путь над пропастью по тонкой нити, потому как опкоды не позволяют сосредоточиться на стратегических задачах, постоянно отвлекая на тактические мелочи: то учесть адрес переменной, то работа со стеком. Уже сама операция 2+2 подразумевает, как минимум: положить в переменную число, прибавить к ней второе число. Это две операции, плюс ко всему нужно еще знать адрес переменной. Конечно не абсолютный, а относительный, но при наличии, скажем сотни, переменных хранить в голове все их адреса – достаточно круто. К этому нужно привыкнуть. Или переменная локальная – она лежит в стеке, а потом же не забыть этот стек очистить от мусора – еще одна операция. Не получиться в опкодах записать выражение (2+2)*18/(32+sin(pi/3.4)) в одну строку вот так просто. Придеться думать о том, какой приоритет, какому оператору задать. Каждый оператор имеет свою команду, а если брать «синус», тут еще серьезнее – придеться работать с FPU командами: поместить в стек сопроцессора число, получить из него синус, и выдернуть из стека в переменную – это уже три операции как минимум. В общем, люди, которые по натуре своей ленивы, естественно желают разгрузить себя, переложив рутинные операции на машину. Поэтому высокоуровневые языки программирования всегда снабжаются модулями разбора и анализа написанного кода на более понятном и близком к человеку языке. Машине-то все равно: разбор текста – тоже вычисления, а уж она это умеет делать гораздо быстрее человека, да еще и надежнее. Следующая важная задача – разработка механизма трансляции исходного кода в операционный код. Именно этим и займемся в этой части. Так что, устраивайтесь поудобнее и включайте свой разум на прием информации о том, как можно упростить себе жизнь…
Облако меток
css реестр ассемблер timer SaveToFile ShellExecute программы массив советы word MySQL SQL ListView pos random компоненты дата LoadFromFile form база данных сеть html php RichEdit indy строки Win Api tstringlist Image мысли макросы Edit ListBox office C/C++ memo графика StringGrid canvas поиск файл Pascal форма Файлы интернет Microsoft Office Excel excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)