To: [EMAIL PROTECTED]
Sent: Monday, April 15, 2002 5:36
PM
Subject: Re: [java-list] Código
Obscuro!
ola Lincon!, q esta ofuscado eu sabia, mas todos
os ofuscador q eu vi ate hj so trocavam nome de metodos e de variaveis..
neste caso tinha varios goto achei muito estranto isso f
- Original Message -
From:
Lincolm Ferreira de Aguiar
To: [EMAIL PROTECTED]
Sent: Tuesday, April 16, 2002 8:16
AM
Subject: Re: [java-list] Código
Obscuro!
É que na verdade "goto _L2" deve
ser algo do tipo goto_L2 mesmo, talvez o caractere entre goto e _L2 nã
Olá Guilherme. Esse código está
ofuscado. O programador não tinha a intenção de "permitir" que outras pessoas
tivessem acesso a ele então usou um ofuscador de códigos.
Lincolm
- Original Message -
From:
Guilherme
To: [EMAIL PROTECTED]
Sent: Monday, April 15, 2002 11:05
Cara,
goto é palavra reservada, mas nao tem implementação.
é o caso tambem do const.
[]s
Leandro
Guilherme [EMAIL PROTECTED] on 15/04/2002 11:35:33
Please respond to [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
cc:
Subject: [java-list] Código Obscuro!
ola! Galera!!!
decompilei um
Guilherme, no sei exatamente qual o termo utilizado para isso, mas sei que
existem formas de se "embaralhar" um cdigo para que ao ser "descompilado"
ele retorne cdigo aparentemente sem sentido.
Algum por favor me corrija caso eu esteja errado!
[]s
Carlos
Guilherme wrote:
rvada, mas compila a linha
qte "_T1:"
para o java o q é o "_T1:" ou
"str_qualquer:"
guilherme.
- Original Message -
From:
Lincolm Ferreira de Aguiar
To: [EMAIL PROTECTED]
Sent: Monday, April 15, 2002 1:25
PM
Subject: Re: [java-list] Código
estranho, mas foi esta a explicacao que eu vi.
- Original Message -
From: Luiz Reginaldo [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, March 11, 2002 9:12 AM
Subject: Re: [java-list] código obscuro!!
Silvio,
Troque a atribuição i= i++ por algo como a= i++. Não utilize a mesma
Feb 2002 09:05:45 -0300
Assunto : Re: [java-list] código obscuro!!
Caro Cristiano,
Quando você utiliza o incremento à direita do número,(i++), você
primeiro
retorna o número e depois soma 1.
Para você fazer aquilo que pretendia,(não existe necessidade), você
deveria
: [java-list] código obscuro!!
Silvio,
Troque a atribuição i= i++ por algo como a= i++. Não utilize a mesma
variável na atribuição.
- Original Message -
From: Silvio L. DeMorais [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, March 05, 2002 4:57 PM
Subject: Re: [java-list
comportamento!
Clebert
-- Mensagem original ---
De : Agnelo de Jesus [EMAIL PROTECTED]
Para: [EMAIL PROTECTED]
Cc : Data: Wed, 27 Feb 2002 09:05:45 -0300
Assunto : Re: [java-list] código obscuro!!
Caro Cristiano,
Quando você utiliza o
Silvio,
Troque a atribuição i= i++ por algo como a= i++. Não utilize a mesma
variável na atribuição.
- Original Message -
From: Silvio L. DeMorais [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, March 05, 2002 4:57 PM
Subject: Re: [java-list] código obscuro!!
Caramba
-- Mensagem original ---
De : Agnelo de Jesus [EMAIL PROTECTED]
Para: [EMAIL PROTECTED]
Cc : Data: Wed, 27 Feb 2002 09:05:45 -0300
Assunto : Re: [java-list] código obscuro!!
Caro Cristiano,
Quando você utiliza o incremento à direita do número,(i++), você
primeiro
Está discussão deveria ter acabado já...
i++
é o mesmo que...
i = i + 1
então pq fazer...
i = i = i + 1
???
=
._.
| ||| r_linux ||| |
| ||--- Slackware 8.0 - Kernel
Feb 2002 09:05:45 -0300
Assunto : Re: [java-list] código obscuro!!
Caro Cristiano,
Quando você utiliza o incremento à direita do número,(i++), você
primeiro
retorna o número e depois soma 1.
Para você fazer aquilo que pretendia,(não existe necessidade), você
deveria
utilizar
Ola Lista,
Para entender o que acontece precisamos apenas decompilar o .class.
Ao analisarmos o assembly que a maquina virtual executa tudo fica
claro..
int i = 0;
// iconst_0 - joga o int 0 no stack
// istore_1 - pega o valor no stack e grava na variavel local 1
i = i++;
//
No tem, at diversas compiladores C++ tem comportamento diferente, e parece
diversas JVM tambm tem comportamento diferente.
csuco wrote:
GS76CJ$[EMAIL PROTECTED]">
o codigo em C ou C++...int main() { int i = 0; i = i++; fprintf (stdou,"i = %ld",i);}teria exatamente o mesmo
-- Mensagem original ---
De : Agnelo de Jesus [EMAIL PROTECTED]
Para: [EMAIL PROTECTED]
Cc :
Data: Wed, 27 Feb 2002 09:05:45 -0300
Assunto : Re: [java-list] código obscuro!!
Caro Cristiano,
Quando você utiliza o incremento à direita do número,(i++), você
primeiro
pois eh, mas ele atribui i = i e depois faz i = i + 1 porm o codigo deveria
fazer a mesma coisa que
int i = 0;
i = i;
i = i + 1;
System.out.println(i);
porm a saida deveria ser 1 e no 0, ou seja igual a saida de C++ com a mesma
seo de cdigo.
Sandro Brando wrote:
004301c1bf77$c462fe80$[EMAIL
Eu verifiquei e em C / C++ realmente sai 1 em vez de 0 que, na minha opinio
certo. Neste cdigo ele no est atribuindo i++ a j mas a i mesmo ou seja,
i = i; i += 1; isso seria o certo pois mesmo sendo cdigo ridiculo, o que
esta escrito
i = 0
i = i++
que igual a
i = 0
i = 0
i += 1
pois a
Feb 2002 09:05:45 -0300
Assunto : Re: [java-list] código obscuro!!
Caro Cristiano,
Quando você utiliza o incremento à direita do número,(i++), você
primeiro
retorna o número e depois soma 1.
Para você fazer aquilo que pretendia,(não existe necessidade), você
deveria
utilizar o incremento à
Oi,
Nao consigo entender como poderia dar 1 em C++... Primeiro é feito
retornado o valor ( 0 ), efetuado o incremento ( i fica com 1) e depois que
é e feito o = (i volta a valer 0)...
t+
.: marcelo alves :.
|
| Oi lista,
|
|Alguém pode explicar porque a seguinte implementação
deve ser claro que o cdigo redundante, a questo se o resultado o
esperado pela especificao da linguagem Java sim ou no. Na minha opinio
no uma vez que i = i++ pode ser escrito como i = i; i++;, que no caso
retornaria 1 em vez de 0.
Giuliano de Aquino wrote:
Para mim isto é tudo babaquice. O i++ é um
operador sobrecarregado herdado do c++ que significa i=i+1, então para que i=i++
ou i=++i, use somente i++ que dá na mesma!
[]'s
Sparc
- Original Message -
From:
Pedro Herrera
To: [EMAIL PROTECTED]
Sent: Wednesday, February 27,
Esse codigo vai resultar em '0' (zero) tanto em Java quanto em C/C++.
O problema aqui eh de qual operacao esta acontecendo.
Veja o que acontece com a variavel 'i' nesse seu programa:
{
1 int i = 0;
2 i = i++;
3 System.out.println(i);
}
Na linha 1 i recebe o valor 0 (zero).
Em c++, se vc fizer exatamente dessa forma, vai obter
o mesmo resultado, é só testar para ver (testei aqui no gcc).
Se você quiser que imprima 1, vai ter que fazer i = ++i
tanto em java quanto em c++.
Resumindo, i = i++ é atribui e incrementa.
i = ++i é incrementa e atribui.
Atenciosamente,
Qual a maquina virtual que vc usa??
Valdenia Eduardo wrote:
006101c1bf9e$5964c9c0$c8c0a8c0@oemcomputer">
vcs me desculpem, mas eu compilei e obtive 1 e no zero. verdade que quando coloco i++ o java s avalia depois, mas depois deque??? (depois de avaliar o resto da expresso, que neste caso
pvt se isto ajudou...
[]s,
Clebert
- Original Message -
From: Lindomar Silva [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, February 27, 2002 9:19 PM
Subject: Re: [java-list] código obscuro!!
É um teste interessante bruno...
Creio que o procedimento não ceja bem atribuir
003401c1bfed$a46c7450$[EMAIL PROTECTED]">
Ento: a atribuio (i=(i) que 0) ele guarda num determinado endereo, erealiza o incremento i++, que nada mais do que i=i+1, que i=1.Ok, o incremento foi realizado, agora ele vai naquele endereo que guardou o0 e faz i=0;Logo em determinado instante
-list] código obscuro!!
Primeiro ele atribui o valor de i recebendo 0 e só depois ele faz a soma
entedeu ?
Para dar um, o código deveria ser assim.
{
int i = 0;
i = ++i;
System.out.println(i);
}
- Original Message -
From: Cristiano Bianchi
Normalmente, se vc não atribuiu nenhum valor a váriavel, ela é iniciada com
o valor zero.
Logo
i = i++
retorna zero para depois incrementar o valor de i;
Se vc quiser retornar 1 deve utilizar o seguinte
i = ++i;
[]'s
Giuliani
- Original Message -
From: Silva, Jobson [EMAIL PROTECTED]
Para o código abaixo retornar faça a seguinte alteração:
{
int i = 0;
i = ++i;
System.out.println(i);
}
- Original Message -
From: Paulo Bruno Contopoulos [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, February 27, 2002 1:23 AM
Subject: RES: [java-list] código
O problema é precedência de operadores, altere a linha i = i++ por i = ++i
- Original Message -
From: Cristiano Bianchi Sanchez [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, February 26, 2002 11:58 AM
Subject: [java-list] código obscuro!!
Oi lista,
Alguém pode explicar
mais fácil:
{
int i = 0;
i++;
System.out.println(i);
}
- Original Message -
From: eduardo [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, February 27, 2002 6:38 PM
Subject: Re: [java-list] código obscuro!!
Para o código abaixo retornar faça a seguinte alteração
No java vc é obrigado a inicializar uma variável, normalmente ela nunca irá
inicializar com valor zero.
- Original Message -
From: Fenix [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, February 28, 2002 9:56 AM
Subject: Re: [java-list] código obscuro!!
Normalmente, se vc não
Por favor, chega de código obscuro.
Já tem milhões de emails com isto, já esta mais que claro.
- Original Message -
From: eduardo [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, February 27, 2002 6:51 PM
Subject: Re: [java-list] código obscuro!!
O problema é precedência de
Isso é porque quando vc usa o i++ na atribuição, ele executa primeiro a
atribuição para depois incrementar a variável. Para a solução do problema
utilize ++i, ou seja: i = ++i;
Sandro
- Original Message -
From: Cristiano Bianchi Sanchez [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent:
Isso é por causa da procedencia do operador aritmético, para funcionar o que
você quer o comando deve ser i = ++i , assim será primeiro processada a
operação aritmética e depois o retorno do valor da variavel, sendo que i =
i++ , primeiro faz o retorno da variavel e depois a operação aritmética.
Caro Cristiano,
Quando você utiliza o incremento à direita do número,(i++), você primeiro
retorna o número e depois soma 1.
Para você fazer aquilo que pretendia,(não existe necessidade), você deveria
utilizar o incremento à esquerda do número (++i).
Isto vale também para a linguagem C++,
i = ++i;
//retornaria 1 mas é muito redundante, utilize i++; ou ++i; apenas...
- Original Message -
From: Cristiano Bianchi Sanchez [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, February 26, 2002 11:58 AM
Subject: [java-list] código obscuro!!
Oi lista,
Alguém pode
Message -
From: Renan Milfont [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, February 13, 2002 8:36 AM
Subject: Re: [java-list] código obscuro!!
Primeiro ele atribui o valor de i recebendo 0 e só depois ele faz a soma
entedeu ?
Para dar um, o código deveria ser assim
É um teste interessante bruno...
Creio que o procedimento não ceja bem atribuir antes e realizar o incremento
depois, já que o incremento se dá na mesma variável que recebe o zero.
Acho que o comportamento é o seguinte:
Quando o interpratador verifica o tipo de instrução ele sabe que tem que
41 matches
Mail list logo