C\C++的大哥大侠们,请千万帮帮忙,帮我理一下思路。

时间:2022-01-10 12:08:48
我对C和C++都只是懂些皮毛
现在公司让我做关于TCP/IP的网络底层协议
也就是可能要自己来做IP协议
是这样的,我最终必须跟单片机打交道
要将自己写的东西烧入单片机中(我现在还不太明白)
所以肯定不能用任何的别人已经封装过的东西
比如socket套接字,必须自己来实现套接字。
现在的问题是,是不是只能用纯C来写,C++可以吗
可以在VC环境里编写吗?
是不是不能在windows底下编写呢?
我该怎么办??
感激万分!。。。。

20 个解决方案

#1


C51,C96,EEPROM.........难。。。。

#2


道这看看怎样?
http://www.c51bbs.com/

#3


一定要学C51吗,
目前,我想,我可不可以用VC来自己写那些套接字函数
我看了TCP/IP的第一卷,
正在准备看第二卷,不过感觉里面的代码,在windows底下肯定是不能运行了
我真的现在思想很混乱,
我以前做的都是一些面向对象的应用程序,
不象现在好象是嵌入式的吧:)
我想学C++,可是好象只能用C了
头好晕啊
救救我吧!。。

#4


是嵌入式PC,还是MCS-51之类的单片机。
嵌入式的,到无所谓,可以在VC下用win32 console application方式调,但不能用win32 application的程序。

要是MCS-51之类,那真可能得从最底层做起了吧,不太清楚有没有相关的工具。

#5


不要说道单片机就是MCS51,现在有好多高效的单片机,具有网络功能的也不少,可以选择,但是开发费用不小.当然51虽然不能把所有的协议都搞定,但是它也可以根据需要的不同编写简略协议,比如将PPP协议经过简化写进51却不足10K。需要说明的是:要作嵌入式系统,你就得珍惜每一字节存储空间,选择一个或多个开发工具来平衡开发效率和硬件限制是必要的,不是非要讨论一个 C 好还是 C++ 好 , ASM好还是高级语言好!

#6


其实我也不知道我是什么单片机,
只是我老板跟我这么说的
说真的,我对硬件方面是一点点都没有概念
虽然是计算机专业的,但是学校就是没有开这门课
最主要的是,我对硬件不敢兴趣。(其实是因为以前只对游戏感兴趣)
 liubear() 兄能不能说的具体点
最底层是什么意思呢?单片机和网卡是不是要非常了解
C语言呢,怎么来学呢,是不是需要非常精通
用win32 console application时,是不是只能用纯C来写
我实在是对这方面没有什么概念
乱七八糟的,我刚出来工作3个月,从VB->CB->VC->C/C++
反正我自己现在也不明白自己在干什么
只是每天都好象要看无数的书,却越来越迷惑!。。。。

#7


我记得好像有基本与C还是C++有关的单片机的书,也不厚,找找看。

#8


你先要搞清楚你要用的是什么芯片,用什么操作系统,真的要自己完全重写tcp/ip协议栈,大概不大可能。那些嵌入式系统(比如vxWorks)上面也都有做好的协议栈的。你要做的协议是哪一层的?你用的系统提供什么样的开发环境,肯定是不能用vc,用vc做编辑器还差不多。能不能用c++,要看你的开发环境本身能不能支持,不过一般嵌入式系统下开发,用C++的很少,基本上都是纯C的代码。

#9


最好是用C按协议一层层地写。如果知道OS和有什么库,就尽量用(减小footprint)。否则,都得自己写。一层层的协议不难(但只看TCP/IP的书可能不够,但它可以给你个全面的了解。你应该好好看看协议本身),它只是要你按协议产生数据块,然后把它往卡里写。

#10


像这一类的开发,我见到的都是用C的,可以用先VC编译好(因为我个人认为它开发起来快,这是个人的习惯,你喜欢用什么C开发环境,基本上可以用上),再作一些小的修改,就可以了.
不过,你要做的,有些什么东西,要做什么,还不是很明确哦!!
你要清楚的是,老板可以给你什么环境,还缺少些什么,你要完成什么.

#11


我问过老板,可能他自己也不是太清楚吧
总结下来应该是这样的:
1 语言要用C
2 可以用VC来编译
3 我现在只能在windows底下工作,但是老板好象要我在DOS底下开发(我不会)
4 目前我最紧迫的任务就是,
  老板给了我一块ISA网卡,说让我先自己实现那些套接字函数(单片机暂不 
  管它)。
现在请大家给我一些建议,我该从那里下手呢?
(C语言实在只是皮毛,TCP/IP也是刚刚有所了解,老板要求我尽快掌握)

#12


单片机不懂。不过可以看看Linux的IP协议代码,另外《用TCP/IP进行网际互连》第二卷实现了一个完整的协议。同类型的单片机没有类似实现吗?从头来肯定要很长时间啊。

#13


到www.laogu.com看看,好象有TCP/IP for单片机的源码。

#14


各位大哥们
现在我们暂时不去谈单片机的了
我先实现套接字函数(一步一步来),
(但是怎样来实现最大的可移植性)。
用TCP/IP进行网际互连》第二卷 里面的代码都是Xinu操作系统的代码
我看它会不会没有用呢??

#15


刚才跟主管在探讨了一下
主管原话是:
    1 先不管单片机
    2 首先自己对ISA网卡进行操作,实现与操作系统无关性,
      (我还是不大明白,应该是说直接把代码烧入网卡吧)
    3 从别的机子上发过来的数据,应该自己来处理

#16


单片机真的不懂,我是来学习的。
不过你可以了解一下电脑的tcp/ip协议模型:首先是操作系统开放出socket api,然后tcp/ip协议软件调用它们。你的问题说的不清楚,是要实现tcp/ip软件呢,还是要实现socket api?《用TCP/IP进行网际互连》第二卷只是实现了tcp/ip软件,socket api是由操作系统提供的。如果实现了tcp/ip软件还比较简单一些,如果要实现socket api就有些难度了。不知我的理解是不是正确。

#17


呵呵,楼上的老兄说的对,我的问题说的不清楚
主要是因为我自己现在也不清楚的很,
看来,我还是自己先去思考一段时间吧
:)
欢迎大家给我留意见!

#18


你不清楚不要紧,现在问题好像是你的老板跟主管都不清楚啊
有没有一个懂得人啊?这种活也敢接?
不是我打击你
可以预见到黑暗的未来了


*****************
BITI制造 质量免检
*****************
圈阅,批准,执行

#19


别怕,我帮你请教高手:)先说说片子型号,这是最关键的。

#20


to cwanter(真的不要再给我介绍女朋友了) :
 大哥,谢谢你,以后请多多帮忙!
 我现在并没有要做什么具体的项目,主要是往这个方向发展
 以后估计是要做DSP那种芯片(其实也可能是别的)
我现在正在看网卡的那些中断啊之类的东西,呵呵
我真怕试用期都过不了啊:)
我的QQ号是 76228779
EMAIL:liushui2166@sina.com
希望可以跟你联系

#1


C51,C96,EEPROM.........难。。。。

#2


道这看看怎样?
http://www.c51bbs.com/

#3


一定要学C51吗,
目前,我想,我可不可以用VC来自己写那些套接字函数
我看了TCP/IP的第一卷,
正在准备看第二卷,不过感觉里面的代码,在windows底下肯定是不能运行了
我真的现在思想很混乱,
我以前做的都是一些面向对象的应用程序,
不象现在好象是嵌入式的吧:)
我想学C++,可是好象只能用C了
头好晕啊
救救我吧!。。

#4


是嵌入式PC,还是MCS-51之类的单片机。
嵌入式的,到无所谓,可以在VC下用win32 console application方式调,但不能用win32 application的程序。

要是MCS-51之类,那真可能得从最底层做起了吧,不太清楚有没有相关的工具。

#5


不要说道单片机就是MCS51,现在有好多高效的单片机,具有网络功能的也不少,可以选择,但是开发费用不小.当然51虽然不能把所有的协议都搞定,但是它也可以根据需要的不同编写简略协议,比如将PPP协议经过简化写进51却不足10K。需要说明的是:要作嵌入式系统,你就得珍惜每一字节存储空间,选择一个或多个开发工具来平衡开发效率和硬件限制是必要的,不是非要讨论一个 C 好还是 C++ 好 , ASM好还是高级语言好!

#6


其实我也不知道我是什么单片机,
只是我老板跟我这么说的
说真的,我对硬件方面是一点点都没有概念
虽然是计算机专业的,但是学校就是没有开这门课
最主要的是,我对硬件不敢兴趣。(其实是因为以前只对游戏感兴趣)
 liubear() 兄能不能说的具体点
最底层是什么意思呢?单片机和网卡是不是要非常了解
C语言呢,怎么来学呢,是不是需要非常精通
用win32 console application时,是不是只能用纯C来写
我实在是对这方面没有什么概念
乱七八糟的,我刚出来工作3个月,从VB->CB->VC->C/C++
反正我自己现在也不明白自己在干什么
只是每天都好象要看无数的书,却越来越迷惑!。。。。

#7


我记得好像有基本与C还是C++有关的单片机的书,也不厚,找找看。

#8


你先要搞清楚你要用的是什么芯片,用什么操作系统,真的要自己完全重写tcp/ip协议栈,大概不大可能。那些嵌入式系统(比如vxWorks)上面也都有做好的协议栈的。你要做的协议是哪一层的?你用的系统提供什么样的开发环境,肯定是不能用vc,用vc做编辑器还差不多。能不能用c++,要看你的开发环境本身能不能支持,不过一般嵌入式系统下开发,用C++的很少,基本上都是纯C的代码。

#9


最好是用C按协议一层层地写。如果知道OS和有什么库,就尽量用(减小footprint)。否则,都得自己写。一层层的协议不难(但只看TCP/IP的书可能不够,但它可以给你个全面的了解。你应该好好看看协议本身),它只是要你按协议产生数据块,然后把它往卡里写。

#10


像这一类的开发,我见到的都是用C的,可以用先VC编译好(因为我个人认为它开发起来快,这是个人的习惯,你喜欢用什么C开发环境,基本上可以用上),再作一些小的修改,就可以了.
不过,你要做的,有些什么东西,要做什么,还不是很明确哦!!
你要清楚的是,老板可以给你什么环境,还缺少些什么,你要完成什么.

#11


我问过老板,可能他自己也不是太清楚吧
总结下来应该是这样的:
1 语言要用C
2 可以用VC来编译
3 我现在只能在windows底下工作,但是老板好象要我在DOS底下开发(我不会)
4 目前我最紧迫的任务就是,
  老板给了我一块ISA网卡,说让我先自己实现那些套接字函数(单片机暂不 
  管它)。
现在请大家给我一些建议,我该从那里下手呢?
(C语言实在只是皮毛,TCP/IP也是刚刚有所了解,老板要求我尽快掌握)

#12


单片机不懂。不过可以看看Linux的IP协议代码,另外《用TCP/IP进行网际互连》第二卷实现了一个完整的协议。同类型的单片机没有类似实现吗?从头来肯定要很长时间啊。

#13


到www.laogu.com看看,好象有TCP/IP for单片机的源码。

#14


各位大哥们
现在我们暂时不去谈单片机的了
我先实现套接字函数(一步一步来),
(但是怎样来实现最大的可移植性)。
用TCP/IP进行网际互连》第二卷 里面的代码都是Xinu操作系统的代码
我看它会不会没有用呢??

#15


刚才跟主管在探讨了一下
主管原话是:
    1 先不管单片机
    2 首先自己对ISA网卡进行操作,实现与操作系统无关性,
      (我还是不大明白,应该是说直接把代码烧入网卡吧)
    3 从别的机子上发过来的数据,应该自己来处理

#16


单片机真的不懂,我是来学习的。
不过你可以了解一下电脑的tcp/ip协议模型:首先是操作系统开放出socket api,然后tcp/ip协议软件调用它们。你的问题说的不清楚,是要实现tcp/ip软件呢,还是要实现socket api?《用TCP/IP进行网际互连》第二卷只是实现了tcp/ip软件,socket api是由操作系统提供的。如果实现了tcp/ip软件还比较简单一些,如果要实现socket api就有些难度了。不知我的理解是不是正确。

#17


呵呵,楼上的老兄说的对,我的问题说的不清楚
主要是因为我自己现在也不清楚的很,
看来,我还是自己先去思考一段时间吧
:)
欢迎大家给我留意见!

#18


你不清楚不要紧,现在问题好像是你的老板跟主管都不清楚啊
有没有一个懂得人啊?这种活也敢接?
不是我打击你
可以预见到黑暗的未来了


*****************
BITI制造 质量免检
*****************
圈阅,批准,执行

#19


别怕,我帮你请教高手:)先说说片子型号,这是最关键的。

#20


to cwanter(真的不要再给我介绍女朋友了) :
 大哥,谢谢你,以后请多多帮忙!
 我现在并没有要做什么具体的项目,主要是往这个方向发展
 以后估计是要做DSP那种芯片(其实也可能是别的)
我现在正在看网卡的那些中断啊之类的东西,呵呵
我真怕试用期都过不了啊:)
我的QQ号是 76228779
EMAIL:liushui2166@sina.com
希望可以跟你联系

#21