Pular para o conteúdo

É 32 ou 64 bits?

Script para detectar se o sistema é 32 ou 64 bits.
Pythonux bielinux
Hits: 3.292 Categoria: C/C++ Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Script para detectar se o sistema é 32 ou 64 bits.
Download arch.c Enviar nova versão

Esconder código-fonte

#include <stdio.h> // printf()

int main(void){
   #ifdef x86
   printf("32 bits \\o/\n");
   #elif x86-64
   printf("64 bits \\o/\n");
   #else
   printf("PC da xuxa \\o/\n");
   return 1;
   #endif

   return 0;
}

Dangerous Tux Game com gráficos

Gerenciamento de Área de Alocação Dinâmica (Listas Encadeadas)

Pilhas C/C++ - Analisador de expressões simples

Sistemas Numericos

[C] Listas Duplamente Encadeadas

#1 Comentário enviado por Arthur_Hoch em 13/01/2016 - 22:13h
Você poderia usar o uname:

$ uname -p
#2 Comentário enviado por bielinux em 13/01/2016 - 23:09h
Tá doido, é?
Isto é C, e não shell script!
Se eu usasse o uname, consumiria mais recursos, e jogaria por água abaixo desempenho, ressalto também que isso é uma verdadeira gambiarra e que o código não seria multiplataforma, rodaria apenas em *NIX. Posso rodar este programa tanto em DOS-likes quanto *NIX-likes, ou qualquer outro estilo desconhecido de sistema.

Para executar códigos de shell script, é só usar a função system() da biblioteca <stdlib.h>, mas que eu saiba, até onde eu vi o system() não traz o retorno dos comandos, apenas os executa.
#3 Comentário enviado por uetanabaro em 14/01/2016 - 08:22h
Lembrando que funciona somente se compilarmos o sistema no ambiente desejado por se tratar de diretivas de pré-processador
#4 Comentário enviado por bielinux em 14/01/2016 - 13:01h
Exato, uetanabaro!
Esse foi o propósito do meu script - mostrar o poder das diretivas de pré-processador.
#5 Comentário enviado por removido em 28/02/2016 - 08:40h
Na prática em shell poderia ser usado lsb_release -a
Mas neste programa em C poderia ser usado um identificador para Lin e Win, não é?

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden
#6 Comentário enviado por MattF em 03/03/2016 - 19:06h
Por favor, alguém me explica isso:


mattf@solaris:~$ ./arch
64 bits \o/
mattf@solaris:~$ uname -p
i386


Porque isso aconteceria no solaris?(arch é o programa acima compilado)

Contribuir com comentário

Entre na sua conta para comentar.