Escrito por kriptus on 5th Agosto 2008
Todas las veces que a mi me han hecho esta pregunta, siempre he respondido lo mismo; el lenguaje que hoy en dia es mejor aprender es C (si, c puro y duro).
Se que mucha gente me dira que si estoy loco, que si C ya esta desfasado, que no hace uso de la gran programacion orientada a objetos, etc, etc. A lo que yo respondo, si aprendes C bien aprendido, y despues aprendes bien los conceptos de programacion orientada a objetos, con poquisimo esfuerzo ya sabes programar C++, PHP, javascript, entre otros.
Luego si quieres avanzar y ponerte al dia con las nuevas tecnologias de programacion existentes hoy en dia, no te creas que te va a ser muy dificil dar el siguiente paso y aprender C# y java (estos son practicamente lo mismo, salvo algunas pequeñas diferencias, faltaria mas…).
Tambien si sabes C, puedes hacer tus programas para windows y para linux.
Asi que, como conclusion a dia de hoy, el mejor lenguaje para aprender a programar es C.
Segun mi opinion. 
Escrito en General, Programacion en C | Sin Comentarios »
Escrito por kriptus on 8th Febrero 2008
Como hace unos dias prometi que escribiria un ejemplo de como usar una dll escrita en c con el entorno de programacion dev-cpp aqui pongo lo prometido.
Codigo escrito en c, dllmain.c
C:
-
#include "dll.h"
-
#include <windows.h>
-
#include <stdio.h>
-
#include <stdlib.h>
-
#include <conio.h>
-
#include <string.h>
-
-
-
DLLIMPORT __stdcall void hola ()
-
{
-
-
}
-
-
DLLIMPORT __stdcall int suma(int a, int b)
-
{
-
return (a+b);
-
}
-
-
DLLIMPORT __stdcall char* cadena(char* s)
-
{
-
strcat(s,"b");
-
return (s);
-
}
-
-
-
-
BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ ,
-
DWORD reason /* Reason this function is being called. */ ,
-
LPVOID reserved /* Not used. */ )
-
{
-
switch (reason)
-
{
-
case DLL_PROCESS_ATTACH:
-
break;
-
-
case DLL_PROCESS_DETACH:
-
break;
-
-
case DLL_THREAD_ATTACH:
-
break;
-
-
case DLL_THREAD_DETACH:
-
break;
-
}
-
-
/* Returns TRUE on success, FALSE on failure */
-
return TRUE;
-
}
codigo dll.h
C:
-
#ifndef _DLL_H_
-
#define _DLL_H_
-
-
#if BUILDING_DLL
-
# define DLLIMPORT __declspec (dllexport)
-
#else /* Not BUILDING_DLL */
-
# define DLLIMPORT __declspec (dllimport)
-
#endif /* Not BUILDING_DLL */
-
-
-
DLLIMPORT __stdcall void hola (void);
-
DLLIMPORT __stdcall int suma(int, int);
-
DLLIMPORT __stdcall char* cadena(char*);
-
-
-
#endif /* _DLL_H_ */
Y a continuacion pongo el codigo que llama a la dll desde visual basic .net
VB.NET:
-
Imports System.Runtime.InteropServices
-
Module Module1
-
Private Declare Function cadena Lib "c:\dev-cpp\Proyecto1.dll" (ByVal s As String) As String
-
Private Declare Sub hola Lib "c:\dev-cpp\Proyecto1.dll" ()
-
Private Declare Function suma Lib "c:\dev-cpp\Proyecto1.dll" (ByVal a As Integer, ByVal b As Integer) As Integer
-
Sub Main()
-
Dim i As Integer
-
i = suma(5, 4)
-
hola()
-
Console.WriteLine("Resultado: " & i)
-
Dim ss As String = "a"
-
Console.WriteLine("Resultado: " & cadena(ss))
-
Console.ReadKey()
-
-
End Sub
-
-
End Module
Escrito en Programacion en C, Visual Basic .NET | 1 Comentario »