Ir ao conteúdo

Posts recomendados

Postado

Pessoal,

 

Se eu tenho 3 programas, sendo A,B e C. Os três compartilham arquivos Headers (.h) entre si. Como eu poderia criar os três em um só projeto? Aqui da conflito, porque os três programas tem um main(), e é permitido que cada projeto tenha apenas um main() logicamente. 

 

Agradeço!

Postado

Você só pode ter uma função main() por projeto. O que você poderia fazer nesse caso é um programa com múltiplas funções. Aí seria necessário criar um menu de acesso para cada função do projeto.

 

você poderia também compilar programas com parâmetros de entrada e usá-los como extensão de um aplicativo central.

 

Ou mesmo, programar DLL's (o que seria desnecessário em projetos pequenos).

Postado

Esqueci de citar, o problema é que cada programa desses, A,B e C são servidores, ou seja, devem ser processos independentes. Cada programa terá que ter seu proprio executavel acredito.

 

Eu não entendi muito bem a sua segunda opnião, também nunca trabalhei com DLL's, se puder explicar melhor. Obrigado.

Postado

Então cada servidor deve ter seu projeto, nesse caso. Não há como compilar dois ou mais executáveis por projeto (a menos que a IDE permita subprojetos, o que eu ainda desconheço).

 

Sobre minha segunda opinião, o que citei acima vale também. Ou seja, cada excutável terá seu projeto. Quanto ao uso de DLL's, é o mesmo cada DLL terá seu projeto. Uma DLL é como um programa só que com extensão diferente, em vez de *.exe usa-se *.dll e ela não possui uma função main() e, geralmente, em vez de devolver um dado em arquivo ou imagem na tela, ela devolve um dado em memória para o aplicativo que a solicitou. Ela é muito usada em aplicativos muito segmentados (que geralmente são muito grandes), ou quando vários aplicativos usam a mesma função. Na pasta "C:\Windows\system32" você encontra muitas DLL's que são usadas pela maioria dos aplicativos para windows (as vezes, chamamos essas DLL's em nossos programas sem se dar conta usando uma função padrão).

 

Quanto ao seu problema. É melhor criar um header com as funções que todos os programas usam (como por exemplo <funcoes.h>), e usá-lo em todos os projetos, assim você vai criar projetos mas compactos e facilitará sua vida. Para ilustrar:

 

1) Arquivo <minhasFuncoes.h>

/** nesse arquivo vai todas as funções que uso nos 3 projetos **/void funcao1(){   //execução   return}void funcao2(){   //execução   return}//E assim por diante...

Esse arquivo pode ser adicionado junto com os outros headers do seu compilador (desde que não haja conflitos de nome, ou seja, tenha um nome igual com os outros headers do seu compilador) para ser usado futuramente, assim:

#include <minhasFuncoes.h>

Ou pode ser colocado em um diretório qualquer (mas deve ser referenciado o arquivo com nome completo de diretório. Por exemplo:)

#include "C:/meusHeaders/minhasFuncoes.h" //Deve estar entre aspas ("") pois se refere a um diretório diferente dos headers do compilador

2) Agora basta adicionar esse header em cada projeto seu:

/** Projeto 1 **/#include <stdio.h>#include <minhasFuncoes.h> //Inclui as funcoes usadas por todos os projetos/** Se estiver em um diretório diferente do de headers do compiador digitar assim#include "[Drive:]/[Path]/minhasFuncoes.h"onde [Drive:] indica a letra da partição e [Path] o Diretório do arquivo**/int main(){     funcao1();     funcao2();     return 0;}

Faça assim para cada projeto.

 

Espero que tenha esclarecido

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!