扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
c吧,初学上手比较难,但还在用,其他语言好多讲效率的基础库底层都是c写的。
成都创新互联公司总部坐落于成都市区,致力网站建设服务有网站设计制作、成都网站制作、网络营销策划、网页设计、网站维护、公众号搭建、小程序制作、软件开发等为企业提供一整套的信息化建设解决方案。创造真正意义上的网站建设,为互联网品牌在互动行销领域创造价值而不懈努力!
另外好多语言都是c语言体系的,基本都差不多什么if,else,switch啥的。
vb相对简单,但不算很大众。c#,java这种比较主流上手也快,但也是c体系的。看你要干嘛了
语言没有好坏之分,只有对某个问题的处理擅不擅长,具体还得看你自己的需求。
VB.NET确实还行,C语言大家都知道效率比较高,应用也更广泛些,还是推荐你学C语言,学好C语言之后再学C#比VB.NET稍微好学些,都是.NET
总得来说,语言可以分为两种,一种是面向对象,一种是面向过程.(想要学,就去买本书回来慢慢看.)
我学了一年多的编程了,总学过C语言,VB.NET,C++.
其中,觉得,C++要学好,需要下太大的资本了.也要有一些条件!
不过,C++和java有一个大的区别,就是C+无论做一个项目,需要创建许多的类.而java本身就已经具有那些类了,只要你调用下就ok.不过,C+那样用户创的类,实用,灵活方面,就比较实在!不过,说白了点,就是麻烦..你看着自己的意愿发展吧!不能全学语言,要专攻一门.
首先是C的DLL(我的项目叫ConsoleApplication2.dll):
#include Windows.h
// 导出Test函数,供外部使用
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
运行结果:
在c语言中每一个变量都有两个属性一个是值,一个是址。比如inta=2;变量a的值是2,变量a的地址,可以用取地址
操作符
获取,即a。因此以C语言的函数传递中具备两种方式传递参数,一种是传址,一种传值。比如voidf1(intv){;}//函数f1v
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流