Página 1 de 1
Opção -jobs=%NUMBER_OF_PROCESSORS% não está funcionando.
Enviado: 19 Dez 2016 13:35
por rossine
Olá,
Uso o harbour do Viktor e uso a definição abaixo em meu .hbp
Pelo que percebi, quando o harbour importa o valor de %NUMBER_OF_PROCESSORS% ela vem como tipo STRING e o valor que precisa ser definido na opção "-jobs" tem que NUMÉRICA.
Quando uso a opção: -jobs=%NUMBER_OF_PROCESSORS% na compilação consta assim:
Código: Selecionar todos
hbmk2: Processando opções do ambiente: -comp=mingw
hbmk2: Compilation threads: 1
E usando do modo normal -jobs=4 , fica assim:
Código: Selecionar todos
hbmk2: Processando opções do ambiente: -comp=mingw
hbmk2: Compilation threads: 4
Teria algum parâmetro no harbour para transformar esta importação em NUMÉRICA ?
Tipo:
Obrigado,
Opção -jobs=%NUMBER_OF_PROCESSORS% não está funcionando.
Enviado: 19 Dez 2016 14:11
por JoséQuintas
Pelo menos a tradução no Windows como string é válida.
Não sei do hbp, nem sei aonde mostra as threads que estão sendo usadas.
Opção -jobs=%NUMBER_OF_PROCESSORS% não está funcionando.
Enviado: 19 Dez 2016 15:39
por Kapiaba
Algo a ver com isto Rossine?
Código: Selecionar todos
#include "FiveWin.ch"
FUNCTION Main()
? " Computer Name:", GETENV( "COMPUTERNAME" )
? " Home Drive :", GETENV( "HOMEDRIVE" )
? " Home Path :", GETENV( "HOMEPATH" )
? " LogOn Server :", GETENV( "LOGONSERVER" )
? " Number of Processors :", GETENV( "NUMBER_OF_PROCESSORS" )
? " Processor Architecture :", GETENV( "PROCESSOR_ARCHITECTURE" )
? " Processor Identifier :", GETENV( "PROCESSOR_IDENTIFIER" )
? " Processor Level :", GETENV( "PROCESSOR_LEVEL" )
? " Processor Revision :", GETENV( "PROCESSOR_REVISION" )
? " OS :", GETENV( "OS" )
? " Session Name :", GETENV( "SESSIONNAME" )
? " User Domain :", GETENV( "USERDOMAIN" )
? " User Name :", GETENV( "USERNAME" )
? " User Profile :", GETENV( "USERPROFILE" )
? " Command Specification:", GETENV( "COMSPEC")
? " TEMP Folder :", GETENV( "TEMP" )
? " TMP Folder :", GETENV( "TMP" )
? " WINDOWS Folder :", GETENV( "WINDIR" )
? " Program Files Folder :", GETENV( "PROGRAMFILES" )
? " Prog. files extentions :", GETENV( "PATHEXT" )
? " Default Path :", GETENV( "PATH" )
RETURN NIL
Abs
Opção -jobs=%NUMBER_OF_PROCESSORS% não está funcionando.
Enviado: 19 Dez 2016 15:53
por rossine
Olá João,
Rodei seu exemplo aqui e me retornou correto , ou seja 4 núcleos:
Código: Selecionar todos
Number of Processors : 4 <<<---------AQUI
Processor Architecture : x86
Processor Identifier : x86 Family 6 Model 23 Stepping 7, GenuineIntel
Processor Level : 6
Processor Revision : 1707
OS : Windows_NT
Session Name : Console
Eu devo estar fazendo confusão pois se eu seto no meu .HBP
na compilação ele mostra:
Código: Selecionar todos
hbmk2: Processando opções do ambiente: -comp=mingw
hbmk2: Compilation threads: 16
O Viktor me disse para setar esta variável assim:
Código: Selecionar todos
Hi Rossine,
%VARNAME% is batch file convention, it's not supported inside .hbp files. (But it will work on the command-line on systems that support is.)
Inside .hbp files, use this: -jobs=${VARNAME}
Mas mesmo assim a compilação fica em apenas 1 thread:
Código: Selecionar todos
hbmk2: Processando opções do ambiente: -comp=mingw
hbmk2: Compilation threads: 1
Talvez eu esteja enganado por associar o "-jobs" com "hbmk2: Compilation threads:

" que é mostrado na hora da compilação, mas foi só um detalhe que observei, mas compila normalmente.
Obrigado,
Opção -jobs=%NUMBER_OF_PROCESSORS% não está funcionando.
Enviado: 19 Dez 2016 15:57
por JoséQuintas
Código: Selecionar todos
%VARNAME% is batch file convention, it's not supported inside .hbp files
Isso significa:
%VARNAME% é pra arquivos BAT, NÃO é aceito dentro de hbp.
Mas o texto adicional:
mostra que seria: