Dll [RESOLVIDO]

1. Dll [RESOLVIDO]

Douglas
x-unix

(usa Ubuntu)

Enviado em 27/09/2011 - 13:09h

Galera seguinte estou estagiando na area de desenvolvimento mas estou precisando desenvolver uma dll em c++ alguém tem uma feita comentada ai para que eu olhe tente entender pois não estou sabendo nem por onde começar. Pois conheço C e bem pouco então to querendo adquirir mais conhecimento nessa linguagem.
Obrigado


  


2. MELHOR RESPOSTA

???
gokernel

(usa Linux Mint)

Enviado em 27/09/2011 - 16:28h

Olá como o nosso colega falou no Linux não usa .dll mas .so

Resumo pra criar uma "biblioteca dinâmica"


//-----------------------------------------------------------------------------------------------
// Arquivo:
// lib.c
//
// Compilando:
// WIN: gcc -shared lib.c -o lib.dll
// LIN: gcc -shared lib.c -o lib.so
//
// Usando:
// link o seu programa com essa biblioteca(.dll ou .so)
//-----------------------------------------------------------------------------------------------

#include <stdio.h>

void hello ( void )
{
printf ( "Hello World\n" );
}



E lembre-se de declarar a função externa no seu programa ou definir em um arquivo "lib.h"
-------------------------------------------------
extern void hello ( void );
-------------------------------------------------

3. Re: Dll [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 27/09/2011 - 15:45h

O Linux não trabalha com DLLs, e sim com arquivos .so, que também é uma biblioteca dinâmica. Sugiro a leitura:
http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html

Tudo o que você precisa está aí.


4. Re: Dll [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 18/01/2012 - 20:40h


// Arquivo: dll.h
// Somente para windows
// Retirado do Templante do Dev-c++

#include <windows.h>

#if BUILDING_DLL
#define DLLIMPORT __declspec(dllexport)
#else
#define DLLIMPORT __declspec(dllimport)
#endif

// Exporta uma funcao e uma vareavel

DLLIMPORT extern int funcao ();
DLLIMPORT extern int value;




// Arquivo: dll.cpp

#include "dll.h"

int funcao ()
{
return 123;
}

int value = 2012;



COMPILANDO O DLL:
-------------------------------------------------
g++ -c dll.cpp -Wall -DBUILDING_DLL=1

dllwrap --output-def libdll.def --implib libdll.a dll.o --no-export-all-symbols --add-stdcall-alias -o dll.dll
-------------------------------------------------
Serão gerados 3 arquivos:
libdll.def
libdll.a
dll.dll

COMPILANDO O PROGRAMA:
g++ prog.c -o prog.exe -ldll -Wall
ou
g++ prog.c -o prog.exe libdll.a -Wall
ou
g++ prog.c -o prog.exe dll.dll -Wall







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts