C# Óë Cygwin½»»¥µÄÎÊÌâ - .NET¼¼Êõ / C#
win32ϵ÷ÓÃCygwinÉú³ÉµÄdllÀÏÊDz»³É¹¦£¬×î½üÖÕÓÚÕÒµ½Ò»ÆªÎÄÕ£¬ÀïÃæËµÃ÷ÁËwin32ÈçºÎµ÷ÓÃCygwinÉú³ÉµÄdll
Æ½Ì¨ÒÆÖ²(CygwinÓëWin32³ÌÐòµÄ½»»¥)
È»ºó°´ÕÕ×÷Õß˵µÄ±àÒëºÃÁË CygLoad.dll
×÷ÕßÊÇÓÃVB×öµÄÀý×ÓÈçÏ£º
VB.NET code:
Imports System.Runtime.InteropServices
Friend Class Program
' Nested Types
Public Delegate Sub MainEntryMethod()
' Methods
<DllImport("CygLoad.dll")> _
Public Shared Sub CygwinStartUp(ByVal mainEntry As MainEntryMethod)
End Sub
<STAThread()> _
Friend Shared Sub Main()
Program.CygwinStartUp(New Program.MainEntryMethod(AddressOf Program.MainEntry))
End Sub
Friend Shared Sub MainEntry()Sub MainEntry()
Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(False)
Application.Run(New MainForm())
End Sub
End Class
ÎÒÐ޸ĵ½C#ÏÂ
C# code:
public delegate void MainEntryMethod();
[DllImport("CygLoad.dll")]
public static extern void CygwinStartUp(MainEntryMethod mainEntry);
[STAThread]
static void Main()
{
CygwinStartUp(new MainEntryMethod(ref MainEntry));
}
public static void MainEntry()
{
Application.EnableVisualStyles(
Ïà¹ØÎÊ´ð£º
дÁ˸ö²âÊÔ³ÌÐòÈçÏÂ
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
¿ÉÄÜÒòΪ¹¤×÷µÄÔÒò ½Ó´¥Êý¾Ý¿âÕâ¿é±È½ÏÉÙ£¬Ö®Ç°¶¼ÊÇ×ö³ÌÐòÕâ¿é£¬Êý¾Ý¿âÕâ¿é¶¼ÓÐרÃŵÄÈËÀ´×ö ·Ö¹¤¶¼ºÜÃ÷ϸ ËùÒÔ¶ÔÊý¾Ý¿âÕâÒ»¿éÍêÈ«²»Á˽⡣ǰ¶Îʱ¼ä È¥ÃæÊÔÁ˼¸¼Ò¹«Ë¾ ¼¸ºõ¶¼ÊÇÔÚÊý¾Ý¿âÕâ¿é¹ÒµôµÄ Á¬¸ö¼òµ¥µÄSQ ......
ÔÚ¸ùĿ¼/libÖдæ·ÅÒ»¸ölog.c£¬log.h£¬²¢ÓÃÏÂÃæµÄÓï¾ä£º
gcc -c log.c
ar crv liblog.a log.o
±àÒë³öÒ»¸öliblog.a¾²Ì¬¿â£¬È»ºóÔÚÎļþ¼Ð£º/testfileÖд´½¨Ò»¸ötest.cºÍtestc.c£¬test.cÖÐÒýÓÃÁËtestc.cÖж¨ÒåµÄ·½·¨ ......
ÊäÈë10ѧÉúµÄ³É¼¨£¬¹²4¿Æ£¬°´ÕÕÒªÇó±àдʵÏÖÏÂÁй¦ÄܵijÌÐò£¨ÓÃ×Óº¯ÊýʵÏÖ£©
1 Çó³öÿ¿ÆµÄƽ¾ù³É¼¨ ½«Æ½¾ù·Ö¡µ90µÄͬѧµÄÅÅÐò
×÷ÒµÌù~£¡
àÅ ÎÒͬѧ¸øÎÒ·¢µÄ×÷Òµ ÎÒ×òÌì×öÁË µ«Êǽá¹ûÔËÐв»¶Ô ×òÌìÓкö ......