IPB

 
>

Курилка программистов

, Флуд на около программерские темы

 
 xrModder
сообщение 21.08.2019, 21:31
Сообщение #301


Почти Мастер
***********

Группа: Участник
Сообщений: 1004
Регистрация: 08.08.2018
Пользователь №: 29590



Проблема решена!
Перейти в начало страницы
 
 
 iOrange
сообщение 21.08.2019, 21:48
Сообщение #302


Половина землекопа
**************

Группа: Участник
Сообщений: 1763
Регистрация: 30.03.2010
Из: Planet Earth
Пользователь №: 13811



Цитата(xrModder @ 21.08.2019, 19:52) *
Чем заменить PVOID для корректной сборки под 32 и 64 бит?

void* ?

Added: туплю, надо читать тред до конца перед ответом (IMG:style_emoticons/default/sleep.gif)

Сообщение отредактировал iOrange - 21.08.2019, 21:49
Перейти в начало страницы
 
 
 xrModder
сообщение 22.08.2019, 22:17
Сообщение #303


Почти Мастер
***********

Группа: Участник
Сообщений: 1004
Регистрация: 08.08.2018
Пользователь №: 29590



Вопрос по Visual Studio (2010). LuaJIT использует makefile для компиляции, как перевести его в привычный *.vcxproj (VS Project) вариант? Просьба не предлагать варианты из других проектов, нужен совет эксперта.
Перейти в начало страницы
 
 
 ForserX
сообщение 22.08.2019, 22:25
Сообщение #304


Продвинутый геймер
********

Группа: Модератор
Сообщений: 490
Регистрация: 19.07.2015
Из: Москва
Пользователь №: 22151



Решение by Oxygen 2017:
Вынести buildvm.exe в отдельный проект ,
Создать проект LuaJIT,
Подключить buildvm.exe в prebuild,
Линковать готовый lj_vm.obj к LuaJIT.dll через hack в консоли.

К тому же, нужно будет сделать привязку работы памяти для LuaJIT в х64. Есть вариант с поясками аллокаторов от абрама, либо вариант с хардкодом в нужный раздел ОЗУ от Гипа. Правки есть в разных репо. Дальше сам.
Перейти в начало страницы
 
 
 abramcumner
сообщение 22.08.2019, 22:34
Сообщение #305


Босс
********************

Группа: Участник
Сообщений: 4271
Регистрация: 27.04.2011
Из: Россия
Пользователь №: 14366



Цитата(xrModder @ 22.08.2019, 22:17) *
Вопрос по Visual Studio (2010). LuaJIT использует makefile для компиляции, как перевести его в привычный *.vcxproj (VS Project) вариант? Просьба не предлагать варианты из других проектов, нужен совет эксперта.

Я собираю luajit батником из комплекта получаю lua51.dll и в сталкере уже использую готовые либ/длл. VS Project не нужен. В солюшене остается только проект для луабинд.
Перейти в начало страницы
 
 
 xrModder
сообщение 23.08.2019, 07:46
Сообщение #306


Почти Мастер
***********

Группа: Участник
Сообщений: 1004
Регистрация: 08.08.2018
Пользователь №: 29590



Есть другой вариант без костылей?
Перейти в начало страницы
 
 
 ForserX
сообщение 23.08.2019, 08:08
Сообщение #307


Продвинутый геймер
********

Группа: Модератор
Сообщений: 490
Регистрация: 19.07.2015
Из: Москва
Пользователь №: 22151



xrModder, нет
Перейти в начало страницы
 
 
 iOrange
сообщение 23.08.2019, 16:33
Сообщение #308


Половина землекопа
**************

Группа: Участник
Сообщений: 1763
Регистрация: 30.03.2010
Из: Planet Earth
Пользователь №: 13811



Цитата(abramcumner @ 22.08.2019, 21:34) *
Я собираю luajit батником из комплекта получаю lua51.dll и в сталкере уже использую готовые либ/длл

Имхо самый нормальный вариант - вы не будете собирать LuaJIT каждый раз, все равно собрать надо только раз при обновлении библиотеки.
Перейти в начало страницы
 
 
 iOrange
сообщение 05.09.2019, 05:39
Сообщение #309


Половина землекопа
**************

Группа: Участник
Сообщений: 1763
Регистрация: 30.03.2010
Из: Planet Earth
Пользователь №: 13811



Смешно, но правда (IMG:style_emoticons/default/laugh.gif)

(IMG:https://images.gameru.net/thumb/daca0f3a5dc4bba.jpg)
Перейти в начало страницы
 
 
 Diesel
сообщение 04.12.2019, 01:57
Сообщение #310


Продвинутый геймер
********

Группа: Участник
Сообщений: 361
Регистрация: 07.08.2015
Пользователь №: 22230



До чего софт дошел. Удивило.
Перейти в начало страницы
 
 
 Modera
сообщение 04.12.2019, 02:54
Сообщение #311


Игровой Бог
**********************

Группа: Участник
Сообщений: 6005
Регистрация: 30.07.2010
Пользователь №: 13969



Такой софт давно уже существует, я помню игрался с каким-то Typle.

Сообщение отредактировал Modera - 04.12.2019, 02:56
Перейти в начало страницы
 
 
 Diesel
сообщение 04.12.2019, 21:16
Сообщение #312


Продвинутый геймер
********

Группа: Участник
Сообщений: 361
Регистрация: 07.08.2015
Пользователь №: 22230



Уважаемые, поделитесь (можно скрытно, через ПДА). Нужна либа за 2010-2012 годы выпусков.

libgfx_video.lib

Эта штука требуется для сборки делки Скалеформа для КрайЭнгины 3.
Перейти в начало страницы
 
 
 iOrange
сообщение 05.12.2019, 07:33
Сообщение #313


Половина землекопа
**************

Группа: Участник
Сообщений: 1763
Регистрация: 30.03.2010
Из: Planet Earth
Пользователь №: 13811



К сожалению только вот так есть
(IMG:https://images.gameru.net/thumb/7c3488b43dd0481.png)
Перейти в начало страницы
 
 
 Diesel
сообщение 05.12.2019, 12:45
Сообщение #314


Продвинутый геймер
********

Группа: Участник
Сообщений: 361
Регистрация: 07.08.2015
Пользователь №: 22230



iOrange, это не то. По видео USM был отдельно платный пакет. Его купили Крайтек (для Кризис-2.3), Унити, Унреал, ДжиГеймс (снайпер вариор) и другие крупные конторы.
Но сливов этих либ не было. Я обшарил весь интернет и там только слова, даже ссылок не было никогда.

Надо еще в UDK сорцах глянуть, может там завалялось?


Сообщение отредактировал Дизель - 05.12.2019, 12:49
Перейти в начало страницы
 
 
 Modera
сообщение 02.01.2020, 18:11
Сообщение #315


Игровой Бог
**********************

Группа: Участник
Сообщений: 6005
Регистрация: 30.07.2010
Пользователь №: 13969



После прочтения этого поста стало интересно как в разных языках и компиляторах обстоят дела с переполнениями костант, поэтому решил провести испытания. Вот что у меня получилось:

+


Язык C

Код
#include <stdio.h>

int main(int argc, char *argv[])
{
    long long temp1 = 1000 * 60 * 60 * 30 * 24 * 12 * 2007;
    long long temp2 = 1000ll * 60 * 60 * 30 * 24 * 12 * 2007;
  
  printf("%I64d\n%I64d\n", temp1, temp2);
  
  return 0;
}


Компилятор от майкрософт, из Windows SDK 2008. Выдаёт предупреждение, неплохо.
Код
C:\temp>cl /Wall main.c
Microsoft (R) C/C++ Optimizing Compiler Version 14.00.50727.762 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

main.c
L:\Program Files\Microsoft SDKs\Windows\v6.0\VC\Include\stdio.h(62) : warning C4820: '_iobuf' : '4' bytes padding added after data member '_cnt'
L:\Program Files\Microsoft SDKs\Windows\v6.0\VC\Include\stdio.h(360) : warning C4255: '_get_printf_count_output' : no function prototype given: converting '()' to '(void)'
main.c(5) : warning C4307: '*' : integral constant overflow
main.c(5) : warning C4307: '*' : integral constant overflow
main.c(5) : warning C4307: '*' : integral constant overflow
main.c(3) : warning C4100: 'argv' : unreferenced formal parameter
main.c(3) : warning C4100: 'argc' : unreferenced formal parameter
Microsoft (R) Incremental Linker Version 8.00.50727.762
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:main.exe
main.obj

C:\temp>main.exe
-1621647360
62425728000000


Компилятор GCC из набора i686-8.1.0-posix-dwarf-rt_v6-rev0. Тоже выдаёт предупреждение.
Код
C:\temp>gcc -Wall main.c
main.c: In function 'main':
main.c:5:40: warning: integer overflow in exp​ression of type 'int' results in '-1702967296' [-Woverflow]
  long long temp1 = 1000 * 60 * 60 * 30 * 24 * 12 * 2007;
                                        ^

C:\temp>a.exe
-1621647360
62425728000000


Страшно нелюбимый многими компилятор от фирмы борланд из C++ Builder 6. Так-же выдаёт предупреждение.
Код
Borland C++ 5.6.4 for Win32 Copyright (c) 1993, 2002 Borland
main.c:
Warning W8056 main.c 5: Integer arithmetic overflow in function main
Warning W8056 main.c 5: Integer arithmetic overflow in function main
Warning W8056 main.c 5: Integer arithmetic overflow in function main
Warning W8057 main.c 11: Parameter 'argc' is never used in function main
Warning W8057 main.c 11: Parameter 'argv' is never used in function main
Turbo Incremental Link 5.64 Copyright (c) 1997-2002 Borland

C:\TEMP>main
-1621647360
62425728000000


C#, компилятор из Windows SDK 2008.
Код
using System;

class CMain
{
    static void Main(string[] args)
    {
        long temp = 1000 * 60 * 60 * 30 * 24 * 12 * 2007;
        Console.WriteLine(temp);
    }
}


Критическая ошибка, уже лучше.
Код
E:\csc>csc overflow.cs
Версия компилятора Microsoft (R) Visual C# 20058.00.50727.7905
для Microsoft (R) Windows (R) 2005 Framework версии2.0.50727
Авторские права (C) Microsoft Corporation 2001-2005. Все права защищены.

overflow.cs(7,15): error CS0220: Переполнение при выполнении операции во время
        компиляции в режиме с проверкой
overflow.cs(7,15): error CS0220: Переполнение при выполнении операции во время
        компиляции в режиме с проверкой
overflow.cs(7,15): error CS0220: Переполнение при выполнении операции во время
        компиляции в режиме с проверкой


Java, компилятор openjdk-13.0.1.
Код
class Overflow
{
    public static void main(String[] args)
    {
        long temp1 = 1000 * 60 * 60 * 30 * 24 * 12 * 2007;
        long temp2 = 1000L * 60 * 60 * 30 * 24 * 12 * 2007;
        
        System.out.println(temp1);
        System.out.println(temp2);
    }
}


Не выдаёт даже предупреждения. Ну как же так?

Код
C:\temp>javac -version -Xlint:all Overflow.java
javac 13.0.1

C:\temp>java Overflow
-1621647360
62425728000000


Delphi.
Код
program overflow;

var
    temp : Int64;
begin
    temp := 1000 * 60 * 60 * 30 * 24 * 12 * 2007;
    WriteLn(temp);
end.


Компилятор Codegear Delphi 2007, критическая ошибка. Нужен явный каст к Int64.
Код
C:\temp>dcc32 -CC overflow.pas
CodeGear Delphi for Win32 compiler version 18.5
Copyright (c) 1983,2007 CodeGear
overflow.pas(6) Error: E2099 Overflow in conversion or arithmetic operation
overflow.pas(6) Error: E2099 Overflow in conversion or arithmetic operation
overflow.pas(8)


Компилятор FreePascal 3.0.4 x64.
Код
C:\temp>ppcrossx64 -vw -WC -Mdelphi overflow.pas

C:\temp>overflow
62425728000000

Никаких ошибок и предупреждений, и результат верный. Я и не знал, какой уникально хороший компилятор я использую.

Перейти в начало страницы
 
 
 cjayho
сообщение 25.03.2020, 18:26
Сообщение #316


Мастер Игры
************

Группа: Участник
Сообщений: 1263
Регистрация: 08.03.2010
Из: Україна
Пользователь №: 13783



QUOTE (Trollz0r @ 22.03.2020, 01:31) *
Есть репо на меркуриал, с описаниями коммитов на русском. Требуется перенести его на гит, не превращая русский текст в ? ?? ??? и так далее, как это происходит при импорте репо на гитхабе. Как это сделать?


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

Сообщение отредактировал cjayho - 25.03.2020, 18:27
Перейти в начало страницы
 
 
 iOrange
сообщение 25.03.2020, 19:01
Сообщение #317


Половина землекопа
**************

Группа: Участник
Сообщений: 1763
Регистрация: 30.03.2010
Из: Planet Earth
Пользователь №: 13811



Цитата(cjayho @ 25.03.2020, 17:22) *
отрубить руки кусок зарплаты тем дебилам программистам, которые пишут коммиты не на английском как все нормальные люди на кириллице и заставить их самих заниматься этим сексом разбираться.

Имхо самый правильный ответ
Перейти в начало страницы
 
 
 Trollz0r
сообщение 25.03.2020, 20:35
Сообщение #318


Продвинутый геймер
********

Группа: Участник
Сообщений: 450
Регистрация: 28.05.2010
Из: Кайфовая республика, Атдушинский район
Пользователь №: 13942



Цитата(cjayho @ 25.03.2020, 16:22) *
Цитата(Trollz0r @ 22.03.2020, 01:31) *
Есть репо на меркуриал, с описаниями коммитов на русском. Требуется перенести его на гит, не превращая русский текст в ? ?? ??? и так далее, как это происходит при импорте репо на гитхабе. Как это сделать?


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

Так интересно читать подобные вещи от чувака, уровень которого - копипаста баш-скриптов и поддержка 1С для тёток из бухгалтерии. Делись ещё подобными кринжовыми мыслями, они тоже пойдут в мою кринж-компиляцию.
Перейти в начало страницы
 
 
 RayTwitty
сообщение 25.03.2020, 22:00
Сообщение #319


Босс
********************

Группа: Участник
Сообщений: 4081
Регистрация: 24.09.2010
Пользователь №: 14086



Цитата(cjayho @ 25.03.2020, 18:22) *
Цитата(Trollz0r @ 22.03.2020, 01:31) *
Есть репо на меркуриал, с описаниями коммитов на русском. Требуется перенести его на гит, не превращая русский текст в ? ?? ??? и так далее, как это происходит при импорте репо на гитхабе. Как это сделать?


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

Если проект разрабатывают люди говорящие на одном языке и иного в дальнейшем не предвидится (например проект личный), то нужды "чтоб обязательно на английском" совершенно нет. И вообще в данном случае это скорее всего будут дешевые понты "пасмарити как я знаю инглиш вот все коммиты на инглише инглиш инглиш инглиш".

Да и очевидно, что кириллица есть в юникоде, поэтому проблема как писали выше в самих плагинах переноса.
Перейти в начало страницы
 
 
 Mirus
сообщение 25.03.2020, 22:20
Сообщение #320


New Age
*******************

Группа: Администратор
Сообщений: 3799
Регистрация: 13.05.2011
Из: Украина
Пользователь №: 14371



Цитата(RayTwitty @ 25.03.2020, 21:56) *
Если проект разрабатывают люди говорящие на одном языке и иного в дальнейшем не предвидится (например проект личный), то нужды "чтоб обязательно на английском" совершенно нет. И вообще в данном случае это скорее всего будут дешевые понты "пасмарити как я знаю инглиш вот все коммиты на инглише инглиш инглиш инглиш".

Да и очевидно, что кириллица есть в юникоде, поэтому проблема как писали выше в самих плагинах переноса.

Как минимум это хороший тон. Плюс никогда не знаешь какие бока вылезут (данный пример) ну и англ не забываешь)
Перейти в начало страницы
 
 
 
 

 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

Текстовая версия Сейчас: 06.06.2020, 14:44