c吧,初學上手比較難,但還在用,其他語言好多講效率的基礎庫底層都是c寫的。
成都創(chuàng)新互聯(lián)公司總部坐落于成都市區(qū),致力網(wǎng)站建設服務有網(wǎng)站設計制作、成都網(wǎng)站制作、網(wǎng)絡營銷策劃、網(wǎng)頁設計、網(wǎng)站維護、公眾號搭建、小程序制作、軟件開發(fā)等為企業(yè)提供一整套的信息化建設解決方案。創(chuàng)造真正意義上的網(wǎng)站建設,為互聯(lián)網(wǎng)品牌在互動行銷領域創(chuàng)造價值而不懈努力!
另外好多語言都是c語言體系的,基本都差不多什么if,else,switch啥的。
vb相對簡單,但不算很大眾。c#,java這種比較主流上手也快,但也是c體系的。看你要干嘛了
語言沒有好壞之分,只有對某個問題的處理擅不擅長,具體還得看你自己的需求。
VB.NET確實還行,C語言大家都知道效率比較高,應用也更廣泛些,還是推薦你學C語言,學好C語言之后再學C#比VB.NET稍微好學些,都是.NET
總得來說,語言可以分為兩種,一種是面向?qū)ο?一種是面向過程.(想要學,就去買本書回來慢慢看.)
我學了一年多的編程了,總學過C語言,VB.NET,C++.
其中,覺得,C++要學好,需要下太大的資本了.也要有一些條件!
不過,C++和java有一個大的區(qū)別,就是C+無論做一個項目,需要創(chuàng)建許多的類.而java本身就已經(jīng)具有那些類了,只要你調(diào)用下就ok.不過,C+那樣用戶創(chuàng)的類,實用,靈活方面,就比較實在!不過,說白了點,就是麻煩..你看著自己的意愿發(fā)展吧!不能全學語言,要專攻一門.
首先是C的DLL(我的項目叫ConsoleApplication2.dll):
#include?Windows.h
//?導出Test函數(shù),供外部使用
extern?"C"?__declspec(dllexport)?BSTR?__cdecl?Test(LPSTR?p);
BOOL?WINAPI?DllMain(
HINSTANCE?hinstDLL,
DWORD?fdwReason,
LPVOID?lpReserved)
{
switch?(fdwReason)
{
case?DLL_PROCESS_ATTACH:?break;
case?DLL_THREAD_ATTACH:?break;
case?DLL_THREAD_DETACH:?break;
case?DLL_PROCESS_DETACH:?break;
}
return?TRUE;
}
BSTR?__cdecl?Test(LPSTR?p)
{
p[0]?=?'X';
return?SysAllocString((BSTR)p);
}
然后是VB.Net項目:
Imports?System.Runtime.InteropServices
Imports?System.Text
Module?Module1
REM?生成的是ConsoleApplication2.dll,名字與C里面相同
DllImport("ConsoleApplication2.dll",?CharSet:=CharSet.Auto,?CallingConvention:=CallingConvention.Cdecl)
Public?Function?Test(MarshalAs(UnmanagedType.LPTStr)?ByVal?str?As?StringBuilder)?As?MarshalAs(UnmanagedType.BStr)?String
End?Function
Sub?Main()
Dim?str?As?StringBuilder?=?New?StringBuilder("Hello")
Dim?rstr?As?String?=?Test(str)
Console.WriteLine(rstr)
Console.ReadKey()
End?Sub
End?Module
運行結(jié)果:
在c語言中每一個變量都有兩個屬性一個是值,一個是址。比如inta=2;變量a的值是2,變量a的地址,可以用取地址
操作符
獲取,即a。因此以C語言的函數(shù)傳遞中具備兩種方式傳遞參數(shù),一種是傳址,一種傳值。比如voidf1(intv){;}//函數(shù)f1v