汽车工程师眼中的C#​

本文转载在我的微信公众号:古德曼汽车工业。

希望关注本专栏的朋友,也能一并关注微信公众号。

原文地址:汽车工程师眼中的C#

背景

不少读者问过【思想】,公众号里的工具都是用什么编写的。答案就是C#。那么本期内容就是聊下C#,内容涉及C#的介绍、C#在汽车行业中的运用、分享【思想】的学习经历与C#视频教程,希望能给这个行业想学编程的工程师提供个思路。

前言

先从【思想】是如何结识C#的,那应该是大一,【思想】刚完成C语言的学习后就对编程有了很大的兴趣。所以就自学了C++,想做一些带界面的Windows程序。由于【思想】大学学的是机械设计与自动化,没系统的学习过数据结构这类的专业课,内存管理经常没做好,内存溢出等错误让【思想】差点放弃学习,后来在一位妹子的推荐下接触了C#,才挽回了一点信心。

C#是什么?

C#读作CSharp,它是微软.NET框架的其中一种与语言形式。起初的.NET框架编译器支持C#与VB,NET两种语言,C#的语法继承了C/C++,VB.Net则继承了VB。

与Java、C++等一样,C#也是一种面向对象的编程语言。C#对学过C/C++语言的朋友是比较友好的,所以受众群体也比较广一点。现在主流的Windows系统(Win7以上版本)默认都支持.Net4.0,基本开发出来的程序也不需要额外的安装运行库,可直接运行。

C#的官方开发环境就是宇宙最强IDE-VisualStudio。目前最新版已经出到2019,但是安装后的体积很大。简易想学习的可以安装比较早期的版本,推荐使用2015版。可以支持大家使用C#开发可执行文件(EXE),动态链接库(DLL),甚至网页程序。

说了这么多,C#相较于C++到底有什么优势与不足呢?之前介绍过为什么【思想】结识了C#,这里就详细说说:在开发比较复杂的程序时,为什么要搭建数据结构。

举个例子:在学习C语言的数组功能时,就直接int a[10]这么一个语句就搞定了。但是实际上我们希望数组的长度是动态的。这里就要用到链表、堆栈、列队等数据结构,同时我们还要对这些数据结构多排序检索等操作。这就需要程序员频繁对内存控件进行操作。

这就很容易出现问题,上图这样内存错误的情况也成为家常便饭。当时【思想】学习C++的时候也经常因为这种内存错误哭晕在厕所。

所以,【思想】个人认为C#最棒的优点就是它已经封装了非常丰富的数据结构,在编程时可以直接调用。复杂的数据结构问题,微软的工程师已经帮大家考虑好了。当然【思想】认为无法直接访问内存也是他的劣势,比如做CAN通讯,Socket通讯经常要操作结构体,在这方面C#并不够灵活。

C#在汽车行业中的应用

C#在汽车行业中的应用,有大一部分都是在电控系统开发工具的制作上。例如,开发一款控制器的同时,还需要设计一个上位机工具,用于开发及生产的阶段调试、售后故障诊断、程序的烧写、数据标定等。

图片来源网络

C#的应用,让汽车工程只需要考虑自己专业方面的逻辑,复杂的数据结构完全可以托管给.net编译器,这样做出来的程序相对稳定,开发速度也比较快。

另外,如果觉得C#的官方控件太过单一,也可以使用一些比较适合汽车领域的第三方控件,例如NI、Dotnetbar这类第三方控件,能够迅速的提高用户界面的品质,上图为NI国家仪器提供的第三方工业风格控件。

思想作品介绍

下面介绍一下【思想】开发的一些小工具,有一部分已经在之前的文章有过详细解析,还有一部分由于种种原因还没能跟大家见面,这里先预告一下,厉害的都会有的。

底层与逻辑层交互接口生成工具

之前提到过的底层与逻辑层交互接口生成工具,导入DBC与IO输入表,可以大大缩短人工写代码的工作量。目前工具还处于开发阶段,具体生成的原理可以留意文章下方的推荐阅读。

DBC与EXCEL转换工具

实现DBC文件与Excel表格文件的自由转换,详细的功能介绍可以看下之前的文章:Excel与DBC文件的互相转换

CAN总线分析工具

后续古德曼汽车工业也会推出基于C#与周立功CAN卡组成的总线分析工具,目前处于测试阶段,敬请期待!大致功能就是在线通过dbc文件解析报文信息,并通过图形形式呈现,类似一个简易的CANoe。

AVL-CRUISE自动化后处理工具

由于【思想】之前从事了一段时间的动力经济性仿真,也基于C#开发出了AVL-CRUISE自动化后处理工具,它可以自动的收集CRUISE仿真工程的参数与结果,自动归档到数据库。这个工具的功能已经十分完善,但是由于当前的数据保密,暂时还不能和大家见面。

最后

最后分享一下【思想】的学习方法。那就是在工作中学习,在折腾中学习。【思想】是一个非常爱折腾的人,应该可以称极客了,经常折腾一些朋友都不清楚干嘛的东西。也做过不少小东西,在这过程中学习了不少知识。除了折腾过C、C++、C#之外还学习过HTML、JavaScript、CSS、PHP,数据库也玩过ACCESS、Mssql、Mysql。也编写过自己的网站程序(可以在【原文链接】访问),分享自己的折腾经历。【思想】希望分享自己的学习方法,帮助到想自我学习的朋友们,希望大家也能够尝试下。

推荐阅读

①-Excel与DBC文件的互相转换

②-CRUISE与Isight联合仿真优化

③-Simulink代码生成应用教程

④-工况路普的采集与数据处理

⑤-混合动力节油的秘密-发动机万有特性

⑥-AVL-CRUISE纯电动仿真策略提高教程

⑦-燃料电池车(FCHEV)动力经济性建模与仿真

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容