Código fuente de Systembin
Escribir un programa para probar archivos dll en lenguaje C#. Debido a que el programa fuente dll es C y el resultado de la ejecución es una pantalla negra, el código C# también se ejecuta en un entorno de consola con una pantalla negra. El código completo está a continuación.
Utilizar el sistema;
Utilizar el sistema. recolectar. Genérico;
Uso del sistema. Linq
Usa el sistema. Texto;
Usa el sistema. Runtime .InteropServices
Prueba de espacio de nombres MELP { clase Programa {[DllImport(@D:\Visual Studio Projects\FileMelp\Debug\FileMelp.dll,CharSet = CharSet.Ansi,CallingConvention=CallingConvention.Cdecl )]
extern static void cmd_melp(int argc, string[]argv);
static void Main(string[]args){//string cmd = MELP-s-I D: /bin/ bit-o D:/bin/output;
cadena cmd = MELP-a-I D:/bin/inputD-o D:/bin/bit derecha;
cadena [] argv = cmd. split(new char[]{ ' ' });
int argc = argv. Longitud;
cmd_melp(argc, argv);}}} Dado que el archivo FileMelp.dll depurado no está en la misma carpeta que este programa, es fácil tener problemas con la dirección del archivo, por lo que el archivo de este programa de prueba Todos usan direcciones absolutas. Además, el formato de cmd requiere que no pueda haber dos espacios consecutivos. Este problema también se puede solucionar utilizando la función Recortar.
El segundo paso es utilizar el código fuente para localizar el proyecto dll que reescribiste.
El proyecto FileMelp.dll en este artículo se generó a través del blog sobre generación de VS dll en este espacio. El método de implementación específico no se describirá aquí. Los siguientes dos fragmentos de código se agregan al final de los archivos melp.h y melp.c del proyecto FileMelp.
#ifndef LIB_H
#Definición LIB_H
extern _ declspec(dllexport)void cmd _ MELP(int argc, char * * argv
/*Agregue las definiciones de función que desee*/# Endif Voidcmd _ MELP (Intargc, char * * argv) {main (argc, argv); Presione F6 para generar la biblioteca dinámica FileMelp.dll.
Paso 3, agregue el programa de prueba al código fuente dll.
En el proyecto FileMelp, haga clic derecho en el proyecto FileMelp y seleccione Propiedades.
O presione Alt+Enter para abrir la siguiente interfaz.
Seleccione Prueba. Generado en el primer paso de Propiedades de configuración\Depuración\Commands. Esto completa el trabajo de preparación antes de la depuración. A continuación, agregue puntos de interrupción donde necesite depurar el código.