Форум программистов, компьютерный форум, киберфорум
Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
Результаты опроса: Нужен ли раздел для FreeBasic
Определённо нужен 13 76.47%
В разделе нет необходимости 3 17.65%
Другой вариант(написать в теме) 1 5.88%
Голосовавшие: 17. Вы ещё не голосовали в этом опросе

 
 
Рейтинг 4.54/105: Рейтинг темы: голосов - 105, средняя оценка - 4.54
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2

Создание раздела FreeBasic (голосование)

19.10.2012, 18:45. Показов 26173. Ответов 228

Студворк — интернет-сервис помощи студентам
Приветствую всех форумчан!

Многие из вас, наверное, заметили, что на форуме слишком мало подразделов языка Бейсик,
особенно если сравнивать с Паскалем и си, в которых существуют свободные реализации.

Именно поэтому предлагаю администрации cyberforum подумать над созданием нового
раздела для FreeBasic. Предполагаю, если появится раздел, появятся и новые пользователи,
которые будут поддерживать его, включая меня.

Однако безосновательно создавать раздел я не прошу, давайте посмотрим нужен ли он людям,
для этого, собственно и создаю данный топик. Люди проголосуют и всё будет видно.



Почему FreeBasic?
  1. Современный
  2. Свободный и бесплатный
  3. Кроссплатформенный(Windows, Linux)

Давайте посмотрим на функционал:

Описание: http://ru.wikipedia.org/wiki/FreeBASIC
Официальный сайт(Англоязычный): http://www.freebasic.net/
Ресурсы сети интернет по FreeBasic
Русскоязычные сайты:
http://freebasic.narod.ru/
http://freebasic.ru/
Статейка: http://www.tiflocomp.ru/docs/programming/fbc.php
IDE для FreeBasic(Англ.): http://fbide.freebasic.net/
Мануал по операторам\функциям: http://www.freebasic.net/wiki/... kka=DocToc
Архив с тулзами\библиотеками\туториалами: http://www.freebasic.net/___old_site/arch/

Частичная цитата:
FreeBASIC — язык программирования высокого уровня по синтаксису наиболее близкий к
QuickBasic ... Первоначально разрабатывался как свободная альтернатива Microsoft
QuickBasic, но быстро оброс новыми возможностями и стал мощным средством разработки.
  • Поддержка Unicode.
  • Множество встроенных типов переменных (Byte, UByte, Short, UShort, Integer, UInteger,
    LongInt, ULongInt, Single, Double, String, ZString, WString).
  • Типы данных определяемые пользователем (бесконечная вложенность, Union, тип поля
    (array, function, bit fields)).
  • Пространства имён.
  • Перечислимый тип (Enum).
  • Новые возможности при работе с массивами (до 2 ГБ размером, Redim Preserve).
  • Указатели (указатели на любые типы данных, неограниченная косвенная адресация).
  • Перегрузка функций и операторов.
  • Необязательные аргументы функций.
  • Встроенный ассемблер (ассемблерные инструкции в исходном коде программы).
  • Препроцессоры.
  • Typedefs.
  • Конструкторы и деструкторы классов.
  • Улучшенная графическая библиотека.

Моё мнение:

В целом, если полазить по интернету, можно понять, что у диалекта огромный потенциал.
Русских коммюнити FB не так уж и много, поэтому, было бы неплохо создать ветку и поддержать
разработчиков.


P.S. Я постарался донести информацию в объективной и понятной форме, надеюсь тема не
останется без ответа и голосов, всем спасибо за внимание .
9
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.10.2012, 18:45
Ответы с готовыми решениями:

Создание статической библиотеки в FreeBasic
Есть непонятки со статической библиотекой. Код. Public Function Add2( ByVal x As Integer, ByVal y As Integer ) As String Return str(...

Создание блок-схемы FreeBasic - Basic
cls dim as single n,i input n screen 12 window (-200,-200)-(200,200) x1=-190 y1=-190 x2=190 y2=-190 x3=-190

Создание раздела D
Здравствуйте. После установки Windows 10, после создания второго раздела, он не отформатирован и без буквы. Я форматирую, но буква D не...

228
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
19.03.2020, 12:18
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Для себя вижу один существенный плюс: отображение никак не будет зависеть от внешних факторов.
Например clear type - это аццки убогая фигня, от которой глаза начинают напрягаться и слезиться уже
через минуту.
Не вижу связи. При отображении ANSI символы преобразуются в Unicode и отображаются. Т.е. избегая первого этапа - мы получаем тот же результат.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Штука крайне нужная, крайне удобная.
Удобная. Но в VB6 она не нужна в 99% случаев, т.к. она нарушает концепцию безопасного программирования. Все что можно реализовать с инлайн асмом, можно и без него. Вон из плюсов тоже убрали его. Я и сам его редко использую, почему-то уверен что кроме меня мб еще пару человек его максимум юзают.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
И ради этого открывать отдельную среду, делать модуль, потом руками его подключать - не дядь.
Ну это правильней. ЯВУ должен быть отделен от "железа" для этого он и предназначен.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
19.03.2020, 12:39  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
При отображении ANSI символы преобразуются в Unicode и отображаются.
Неа, у меня всё "на своих харчах".))) Свой чарсет, свои процедуры печати. Даже загрузчик BMP свой,
накушался уже чужого, в т.ч. системного. Делаю максимально независимо. Беру то, что система может дать
гарантированно хорошо, что ничем просто не заменить уже.

Цитата Сообщение от The trick Посмотреть сообщение
Все что можно реализовать с инлайн асмом, можно и без него. Вон из плюсов тоже убрали его. Я и сам его редко использую, почему-то уверен что кроме меня мб еще пару человек его максимум юзают.
Сам наоборот с Blitz-а ушёл на диалекты с ассемблером из-за того, что часто требуется и по мелочам и
иногда в оптимизационных целях. А раньше выхода не было на QB только так, MASM, модуль, потом LINK.
Наверное, если пишешь на несколько платформ - это плохо. Но я пишу только под винду, поэтому
не парюсь.

Добавлено через 8 минут
Цитата Сообщение от The trick Посмотреть сообщение
Непонятен сей момент. Юникодные функции отрабатывают быстрее за счет того что ANSI функции делают конвертацию в Юникод, вызывают юникодную функцию. Как может это работать быстрей?
Не совсем понял про что ты писал, но я имел в виду саму организацию данных.
Чтобы сделать преобразование LCASE UCASE, это одна инструкция процессора XLAT для 8 битной.
Поиск по строке тут разные варианты действий но чисто стохастически(ну или опр. образом)
ткнуть в любое место мультибайтной кодировки - не выйдет. Фиксированной же - легко.
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
19.03.2020, 12:54
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Да использовал их уже. Ничего хорошего сказать об этом не могу. Куча гемора и головной боли.
Заведи буфер, да проверь сколько под него надо, да то, да это, потом убей буфер. Бегай следи
за этими указателями.
Ну смешно. Даже комментировать не буду.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Господи, мне ещё думать как угодить туркам и арабам. ))) Анатолий жжёшь.
Не ну я не знаю что ты там пишешь. Можешь и дальше писать "для себя", я не против. Весь мир пишет так, а ты можешь писать по другому. Только я высказал свою точку, что это хорошо писать без лишней головной боли, и чтобы другие могли пользоваться, а ты можешь все также продолжать сидеть на ANSI - идти против китайцев и др . Я сам, знаешь, пишу часто на VB6 и очень раздосадован его редактором кода, когда я вместо того чтобы напечатать нужный мне символ извращаюсь через ChrW. Правда отличие в том что я не могу это изменить.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Нет ни выигрыша, ни проигрыша. Мне просто не охота забивать этим бошку свою, как-то читал
про это всё, думал думу и решил что ну его нафиг. Обойдутся узкоглазые. А на большинство европейских
стран легко сделать через ASCII, если появится спрос. Сначала спрос - потом уже локализация.
Для наших российских ребят и так канает.
Я до сих пор не понимаю при чем тут китайцы. У китайцев также есть ANSI кодовая страница. Про выигрыш я уже написал и про проигрыш тоже.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Я больше 10 лет кодил на QB, глаз не цепляет эти новые шняги, выдумали какой то WSTRING.
Разрабы не могут сделать STRING как STRING - а я парься по этому поводу. Да ну их нафиг.
Вот как IDE напишут и заточку сделают - тогда будет им.
Не знаю как в FB, но дополнительный тип для строк - это хорошо. Это не то что в VB6 приходится извращаться чтобы хранить ANSI строку. ANSI или ASCII строки часто еще используются во всяких девайсах, поэтому уходить от них пока еще нельзя. Вот если бы ты писал под какие-либо девайсы проги, или сам клепал что-то я бы еще мог понять, что да, тут использование ANSI оправдано.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Эмоджи это последовательность обычных символов. её можно "выклёвывать" из текста, визуально
заменяя на смайлики из отдельно загруженного чарсета. В обратную сторону тоже работает.
https://unicode.org/emoji/char... -list.html
1
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
19.03.2020, 12:57  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
а ты можешь все также продолжать сидеть на ANSI - идти против китайцев
Я не против китайцев. Просто помню тот момент когда искал программу эмулятор старых интерфейсв
типа ddraw. Там была какая-то прога, она была сугубо на китайском и ни одна скотина не удосужилась
сделать из неё хотя бы английскую версию. Впоследствии, я нашёл DxWnd супер софт, написанный профями.
С тех пор твёрдо решено, что если этим псам так непомерно тяжело делать английскую локаль, то
с какого фига я должен под них подстраиваться. Они инициировали эти юникодные штуковины.
Европейцы в общем-то и не жаловались, чей алфавит легко влезает в 7 бит.

Цитата Сообщение от The trick Посмотреть сообщение
https://unicode.org/emoji/charts/full-emoji-list.html
Vivaldi браузер, с которого читаю форум ничего не знает про эти смайлы.
Я так понял эти знаки вопроса - ты поставил несколько смайлов.

0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
19.03.2020, 13:06
Цитата Сообщение от Quiet Snow Посмотреть сообщение
С тех пор твёрдо решено, что если этим псам так непомерно тяжело делать английскую локаль, то
с какого фига я должен под них подстраиваться. Они инициировали эти юникодные штуковины.
Европейцы в общем-то и не жаловались, чей алфавит легко влезает в 7 бит.
Ну это смешно. У европейцев не влазил, достаточно посмотреть на таблицу кодовых страниц. Китайцы и Юникод это как сравнивать теплое с мягким. У китайцев свои кодовые страницы ANSI и куча народу в китае пишет на VB6 и к примеру комменты в коде пишут на китайском.
Ну а вообще - это твое дело.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Vivaldi браузер, с которого читаю форум ничего не знает про эти смайлы.
Это не браузер, это форум режет. Браузер корректно отображает.


Цитата Сообщение от Quiet Snow Посмотреть сообщение
Я так понял эти знаки вопроса - ты поставил несколько смайлов.
1 смайл.
1
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,024
Записей в блоге: 7
19.03.2020, 13:23
Цитата Сообщение от The trick Посмотреть сообщение
Инлайн асм штука вообще довольно спорная, правильней делать так - если кому-то нужен код на ассемблере - компилируйте его там и используйте.
Почему же, бывает полезной. Например пишем DLL и внедряем в другой процесс где перехватываем некоторые функции. Без асма будет сложно. Зачем отдельный модуль есть можно написать в коде на бейсике?

Цитата Сообщение от The trick Посмотреть сообщение
Второй момент это то что прежде чем писать многопоточную программу нужно правильно это уметь делать.
Нет ничего сложного. Главное не забывать что части кода выполняются параллельно и доступ к общим ресурсам нужно разграничить мьютексом или критической секцией.

Цитата Сообщение от The trick Посмотреть сообщение
Вон из плюсов тоже убрали его.
Приходится мне писать на GCC для ARM микроконтроллеров и что-то я не заметил чтобы асм исчез в текущих версиях компиляторов.
1
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
19.03.2020, 13:24
Цитата Сообщение от locm Посмотреть сообщение
Почему же, бывает полезной. Например пишем DLL и внедряем в другой процесс где перехватываем некоторые функции. Без асма будет сложно. Зачем отдельный модуль есть можно написать в коде на бейсике?
Потому что, как я уже написал, это завязано на "железо". Захочешь ты потом перехватывать под x64, хотя код на бейсике будет валидный, код на ассемблере уже не будет работать. В студиях его уже выпилили при компиляции в x64.

Цитата Сообщение от locm Посмотреть сообщение
Нет ничего сложного. Главное не забывать что части кода выполняются параллельно и доступ к общим ресурсам нужно разграничить мьютексом или критической секцией.
Ну да. Вот люди написали кучу книг и статей про многопоточность видимо они не знали что нужно всего лишь использовать мьютекс и критические секции. Во-вторых, доступ к общим ресурсам не всегда нужно разграничивать. К примеру рисуем фрактал в потоке, один поток пишет, другой читает. Разграничение не нужно.
1
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
19.03.2020, 13:29
Цитата Сообщение от locm Посмотреть сообщение
Приходится мне писать на GCC для ARM микроконтроллеров и что-то я не заметил чтобы асм исчез в текущих версиях компиляторов.
Не писал под ARM, поэтому не скажу. Я про студию, в которой нельзя использовать асм при компиляции 64 битных приложений.
Миниатюры
Создание раздела FreeBasic (голосование)  
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,024
Записей в блоге: 7
19.03.2020, 13:37
Видимо в микрософте программисты обленились, потому что не вижу проблем мешающих добавлению асм вставок в x64 код.
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
19.03.2020, 14:05
Цитата Сообщение от locm Посмотреть сообщение
Видимо в микрософте программисты обленились, потому что не вижу проблем мешающих добавлению асм вставок в x64 код.
Я уже написал. Голый асм ухудшает переносимость кода. Если нужен асм - юзай интринсики. Куча ЯВУ в которых нет инлайн асма и это никого не смущает.
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,024
Записей в блоге: 7
19.03.2020, 14:31
Цитата Сообщение от The trick Посмотреть сообщение
Захочешь ты потом перехватывать под x64, хотя код на бейсике будет валидный, код на ассемблере уже не будет работать.
В большинстве случаев это решается заменой E регистров на R, т. е. к примеру EAX на RAX. Реже нужно править асм код. В любом случае была бы возможность, а применение асму всегда найдется.

Еще один пример когда нужен асм, это инструкция CPUID. Вот к примеру код, работающий на x86 и x64.
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
  ! MULt=1
CompilerElse
  ! MULt=2
  
  Macro eax : rax : EndMacro
  Macro ebx : rbx : EndMacro
  Macro edx : rdx : EndMacro
  Macro ecx : rcx : EndMacro
  Macro edi : rdi : EndMacro
CompilerEndIf
 
Structure CPU
  eax.l
  ebx.l
  ecx.l
  edx.l
EndStructure
 
EnableASM
 
Procedure Get_CPUID(*CPU.CPU, Param)
  PUSH eax
  PUSH ebx
  PUSH edx
  PUSH ecx
  PUSH edi
  MOV edi, [p.p_CPU+20*MULt]
  MOV eax, [p.v_Param+20*MULt]
  !CPUID
  MOV [edi], eax
  MOV [edi+4], ebx
  MOV [edi+8], ecx
  MOV [edi+12], edx
  POP edi
  POP ecx
  POP edx
  POP ebx
  POP eax
EndProcedure
 
 
CPU.CPU
Get_CPUID(@CPU, $80000002)
s.s=PeekS(@CPU, 16, #PB_Ascii)
Get_CPUID(@CPU, $80000003)
s  +PeekS(@CPU, 16, #PB_Ascii)
Get_CPUID(@CPU, $80000004)
s  +PeekS(@CPU, 16, #PB_Ascii)
Debug s
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
19.03.2020, 14:58
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Пока нет полной 100% унификации так будет всегда.
Уже есть, называется: юникод.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Не согласен, ты крепишь BloatWare к неюникодным функциям, хотя этот аспект на скорость работы
и отожранность вообще никак не влияет
Ещё как влияет.
Вот простое и несложное доказательство, что вызов неюникодной функции — это BloatWare. Разберём на примере SendMessageA, но вообще так работает ЛЮБАЯ неюникодная функция.

Итак, программист вызывает неюникодную функцию, напимер, SendMessageA с параметром WM_SETTEXT:

1. SendMessageA вызывает MultiByteToWideChar чтобы получить длину будущей юникодной строки (бац! — лишний вызов измерения длины строки).
2. SendMessageA выделяет память для хранения юникодной строки (бац! — лишний вызов выделения памяти, которой может не хватить).
3. SendMessageA конветирует строку в юникод через MultiByteToWideChar, с потерей информации ?сли неюн?кодная ст?ока б?ла не в кодировк? CP_ACP (бац! — лишние такты процессора для конвертации).
4. SendMessageA вызывает свой юникодный аналог SendMessageW с параметрами и ждёт результата (бац! — лишний прыжок в другой участок памяти, кеш процессора может быть нарушен).
5. Приходит результат юникодной функции.
6. SendMessageA освобождает память (бац! — лишний вызов уничтожителя памяти).
7. Возвращает результат.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Это если у тебя фиксированная байтовая кодировка. А если байты плавающие - то это жопа.
Я использую WString, это родной юникод для Шindows, фиксированная байтовая кодировка юникода в виде UTF-16 LE с суррогатными парами (UCS-2). Никаких конвертаций.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
А в чём? Тебе нужны иероглифы? Русским людям нужны иероглифы? Может немцам нужны?
Или англичанам, французам, итальянцам? Нет. Ну коли нет - этот вопрос идеально решает
расширенный ASCII
Да, мне нужен ять ѣ. В какую кодировку мне запихнуть ять? А ещё мне нужны фита, ижица, и‐десятеричное, тире, дефис, стрелочки, ударение, многоточие, кривые и косые рожи.
И вообще, не вижу смысла себя ограничивать диапазоном 31-255 символов.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
чего нет на твоей клавиатуре(что это даже и напечатать не сможешь, без ворда
с его "вставкой символа" или таблиц в интернете).
Ворд не нужен, я его не устанавливал. Есть редактор раскладок клавиатуры от корпорации Микрософт. Рекомендую ознакомиться, а то и причаститься:
https://www.microsoft.com/en-u... x?id=22339

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Во-вторых ты завязываешь это всё на натив, выйдет новая винда, введут новую кодировку и всё
Ну вот когда выйдет, тогда и поговорим (спойлер: не выйдет).

Вообще это мне напомнило: «А как же перфокарты? Что ты будешь делать когда отменят перфоркарты?!»

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Если я захочу открыть файл со 100% гарантией - могу воспользоваться
системным диалогом.
Как со 100% гарантией? Даже если этот диалог выдаст юникодную строку, то она будет запихнута в неюникодную строку с потерей ??????????, появятся ????? вопроса и ???????? FILE_NOT_FOUND.

DATA EXPUNGED
1
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
19.03.2020, 15:00
Цитата Сообщение от locm Посмотреть сообщение
В большинстве случаев это решается заменой E регистров на R, т. е. к примеру EAX на RAX. Реже нужно править асм код. В любом случае была бы возможность, а применение асму всегда найдется.
В большинстве? Нет. Различий довольно много. К примеру тот же перехват функций, о котором ты писал выше. Уже не получится сделать просто "JMP куда-то там". Тот же способ вызова API, работа с плавающей точкой, RIP адресация, новые команды, устаревшие команды, ньюансы расширения чисел и т.д.

Цитата Сообщение от locm Посмотреть сообщение
Еще один пример когда нужен асм, это инструкция CPUID. Вот к примеру код, работающий на x86 и x64.
Тот же самый код, в C/C++ решается через интринсик __cpuid(ex) без всякого инлайн асма. Замечу что кода гораздо меньше.
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,024
Записей в блоге: 7
19.03.2020, 15:12
Цитата Сообщение от Замабувараев Посмотреть сообщение
Итак, программист вызывает неюникодную функцию, например, SendMessageA с параметром WM_SETTEXT:
А если запускают x86 приложение в x64 системе, накладных расходов будет еще больше.
Прекращаем компилировать x86 приложения и полностью переходим на x64 (ведь x86 систем осталось не много, т. к. ограничение на объем ОЗУ)?

Цитата Сообщение от The trick Посмотреть сообщение
Тот же самый код, в C/C++ решается через интринсик __cpuid(ex).
Мы вроде бейсик обсуждаем.
Цитата Сообщение от The trick Посмотреть сообщение
Замечу что кода гораздо меньше.
Ну так его тоже можно сократить если отказаться от сохранения регистров.
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
  Macro eax : rax : EndMacro
  Macro ebx : rbx : EndMacro
  Macro edx : rdx : EndMacro
  Macro ecx : rcx : EndMacro
  Macro edi : rdi : EndMacro
CompilerEndIf
 
Structure CPU
  eax.l
  ebx.l
  ecx.l
  edx.l
EndStructure
 
EnableASM
 
Procedure Get_CPUID(*CPU.CPU, Param)
  MOV edi, *CPU
  MOV eax, Param
  !CPUID
  MOV [edi], eax
  MOV [edi+4], ebx
  MOV [edi+8], ecx
  MOV [edi+12], edx
EndProcedure
 
 
CPU.CPU
Get_CPUID(@CPU, $80000002)
s.s=PeekS(@CPU, 16, #PB_Ascii)
Get_CPUID(@CPU, $80000003)
s  +PeekS(@CPU, 16, #PB_Ascii)
Get_CPUID(@CPU, $80000004)
s  +PeekS(@CPU, 16, #PB_Ascii)
Debug s
На работоспособность это не повлияло.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
19.03.2020, 15:22  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Можешь и дальше писать "для себя", я не против.
Вот это было некрасиво.


Ладно пойду. Делов полно, тут слишком дикая и жаркая дискуссия для моих старых мозгов.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
19.03.2020, 15:30
Цитата Сообщение от locm Посмотреть сообщение
А если запускают x86 приложение в x64 системе, накладных расходов будет еще больше.
Прекращаем компилировать x86 приложения и полностью переходим на x64 (ведь x86 систем осталось не много, т. к. ограничение на объем ОЗУ)?
Я не знаю. Но мне точно не надо замедлять свою программу пустопорожним гонением строк из ANSI в UTF-16 и обратно.
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
19.03.2020, 15:37
Цитата Сообщение от locm Посмотреть сообщение
Прекращаем компилировать x86 приложения и полностью переходим на x64 (ведь x86 систем осталось не много, т. к. ограничение на объем ОЗУ)?
64 битное приложение не будет работать на 32 битных системах коих немало на данный момент. Использование же юникода - не влияет на работу приложения, только на совсем уже древних системах.

Цитата Сообщение от locm Посмотреть сообщение
Мы вроде бейсик обсуждаем.
Ну я вообще-то писал о том что в VC++ его выпилили и показал что можно обойтись без него. Хуже от этого не стало. Использование интринсиков вместо асма - ничуть не хуже, а если нужен именно асм - пожалуйста, компилируйте в асме и линкуйте.

Цитата Сообщение от locm Посмотреть сообщение
Ну так его тоже можно сократить если отказаться от сохранения регистров.
Дело не в этом. Такой же код можно и на VB6 написать. Я объясняю почему инлайн асм спорная штука в языке высокого уровня. Вон в студии юзай готовые интринсике - всего одна строчка, уже все готово. Нужно SSE/AVX - интринсики. Не устраивает - пиши на асме и линкуй. Почему? Потому что это несовместимо. Нужно под другую архитектуру писать - и весь асм полетит к чертям.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Вот это было некрасиво.
Не хотел обидеть, но это так и выглядит. Ты же пишешь - "с какого фига я должен под них подстраиваться", "Мне просто не охота", "Господи, мне ещё думать как угодить туркам и арабам." и т.п. Такое ощущение что ты "для себя" и пишешь, не зря в кавычках же написал. Без обид.
1
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,024
Записей в блоге: 7
19.03.2020, 15:48
Цитата Сообщение от The trick Посмотреть сообщение
64 битное приложение не будет работать на 32 битных системах коих немало на данный момент.
Обычно x86 систему ставят если меньше 4 ГБ ОЗУ, иначе не будет использована вся память. PAE не всегда является выходом из этой ситуации.
А поскольку в современных компах обычно больше 4 ГБ, значит уже очень многие перешли на x64. Как вариант можно компилировать для x86 и x64 и запускать приложение соответствующее разрядности системы. Я обычно так поступаю когда выкладываю приложения в сеть.
1
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
19.03.2020, 15:59
Цитата Сообщение от locm Посмотреть сообщение
Обычно x86 систему ставят если меньше 4 ГБ ОЗУ, иначе не будет использована вся память. PAE не всегда является выходом из этой ситуации.
А поскольку в современных компах обычно больше 4 ГБ, значит уже очень многие перешли на x64. Как вариант можно компилировать для x86 и x64 и запускать приложение соответствующее разрядности системы. Я обычно так поступаю когда выкладываю приложения в сеть.
Скажи это государственным организациям. Там до сих пор XP 32 разрядные стоят с 512 МБ оперативки. Зачем иметь 2 приложения если первое гарантированно работает на обеих? И при чем тут юникод вобще? Я пояснил уже что сравнение некорректное.
1
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
19.03.2020, 16:22
Цитата Сообщение от locm Посмотреть сообщение
Если установите убунду 10-ти летней давности, может быть, но современные версии такие же требовательные к железу как Windows 10. В этом плане Windows XP намного лучше.
Проблема в том, что я разрабатываю проги на современном компе с Win_10, но при этом некоторые из них предназначены для прогона на стареньком нетбуке. "Штатная" операционка там именно Windows XP, но проблема в том, что я недавно использовал в своей программе одну полезную функцию WinAPI, которая поддерживается только начиная с семёрки. Ну и разумеется, на Windows XP моя программа уже не запустилась. Пришлось с большим трудом "впихнуть" на тот нетбук семёрку. Но там частота процессора всего 900Мгц, "тяжёлый софт" уже не потянет, хотя надо испытывать, конечно, но сейчас руки до него не доходят по разным причинам.
Но за информацию о том, что современные линукс-системы стали тяжёлыми, в любом случае, спасибо. Очень широко распространено мнение, что линукс гораздо "легче" винды. Буду теперь в курсе, что это не всегда так.

Цитата Сообщение от locm Посмотреть сообщение
Что мешает используя скажем ACM функции кодировать WAV в MP3 в реальном времени? Это требует совсем немного процессорного времени (меньше процента вместе с записью в файл), но в системе должен быть установлен MP3 кодек. Проще всего установить пакет K-Lite Codec Pack.
Мешает то, что всё это надо знать. Вот вы бы не сказали, я бы и не знал, что существует такая возможность.
На данный момент у меня задумано так, что "конечный продукт" - файл WAV - сбрасывается на диск, а там его подхватывает бесплатная сторонняя утилита, которая конвертирует его в формат MP3.
А K-Lite Codec Pack у меня, разумеется, установлен уже очень давно и постоянно обновляется, как, думаю, почти у всех в наше время. Очень популярная программа.

Цитата Сообщение от locm Посмотреть сообщение
Цитата Сообщение от Power_Basic
а "заряжать" всё содержимое целиком в память.
Зачем если можно записывать в файл по мере получения данных?
Вот именно от такого подхода мне и хочется уйти. Во-первых, для ускорения работы проги, а во-вторых, чтобы не "мордовать" SSD лишний раз

Добавлено через 19 минут
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Последние linux-ы которые
я ставил в прошлом году(mint lxde) вызвали у меня чувство глубочайшего стыда за разработчиков
Ну значит на линуксах ставлю жирный крест!

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Цитата Сообщение от Power_Basic
Не надо ожидать слишком многого от продвинутой домохозяйки
Расскажите про ваши проекты, у меня есть предположение, что домохозяйка тут некоторых
расфуфыренных "типа прогеров" вполне себе раскатает. Можно и в ЛС, я так чисто по братски интересуюсь,
не в том формате в котором обычно это вынужден делать
Не, ну если я сейчас про все свои "проекты" начну рассказывать, тогда впору палатку ставить прямо здесь на форуме и ночевать в ней
Ну очень же оживлённое общение, не успеваю уже догонять
А слово "проекты" взял в кавычки, потому что это обычно небольшие утилитки для упрощения жизни самому себе, ну или ради забавы что-нибуть, ну или просто в целях практики при изучении одного из ЯП.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.03.2020, 16:22

Создание раздела
Доброго времени суток народ! Нужно в Битриксе создать раздел с несколькими подкатегориями. В сети пишут что это можно сделать в разделе...

Создание нового раздела
Поменял диск 500г на 1тб. Клонировал систему. 500гб на диске не размечено. С помощью GParted создал раздел ext4. Захожу на него, но...

Создание отдельного раздела
Здраствуйте, подскажите пожалуйсто, можноли создать в linux ubuntu отдельный раздел харда? и возможноли это сделать уже с установленной...

Создание раздела fedora 16
доброй ночи юзеры! прошу вашей помощи. есть ноут, на нем установлена федора 16. хард = 650гб (использую максимум 40-50гб) захотел...

VBulletin Создание родительского раздела
Здравствуйте! Пытаюсь создать родительский раздел (как на первом фото) и вот что получается, на втором фото как должно быть. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
180
Ответ Создать тему
Новые блоги и статьи
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru