还有多少人是直接用C编写界面?

建鼎呓语 2010-05-13 02:09:39
说说我的情况:
从毕业进入公司开始,做了几个嵌入式方面的项目,都是直接用C绘制界面。
虽然市面上也有Microwindows、MiniGUI、Qt等嵌入式界面,但实际工作中并未采用过。

大家在做嵌入式界面是什么样子呢?
...全文
633 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
jamesliu10000000 2010-05-13
  • 打赏
  • 举报
回复
我们公司做界面主流用C,以前用汇编,现在开始往GUI转
感觉C和汇编的代码效率高,界面刷新速度较快
而使用GUI可以方便的修改程序,便于程序维护;如果系统对界面响应时间要求不高可以使用这种方式
ccnyou 2010-05-13
  • 打赏
  • 举报
回复
看环境咯,是为了时间还是空间…
renbin5566 2010-05-13
  • 打赏
  • 举报
回复
这段代码没问题,应该是编译器的缘故吧,你用的vc吧。你可以用tc试试
[Quote=引用 23 楼 buyizaixiang 的回复:]
#include <stdio.h>
#include <conio.h>
int main()
{
int i;
textbackground(0); /* 设置屏幕背景色,待clrscr 后起作用 */
clrscr(); /* 清除文本屏幕 */
for(i=1; i<8; i++)
{
window(10+i*5, 5+i, 30+i*5, 15+i); /* 定义文本窗……
[/Quote]
buyizaixiang 2010-05-13
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <conio.h>
int main()
{
int i;
textbackground(0); /* 设置屏幕背景色,待clrscr 后起作用 */
clrscr(); /* 清除文本屏幕 */
for(i=1; i<8; i++)
{
window(10+i*5, 5+i, 30+i*5, 15+i); /* 定义文本窗口 */
textbackground(i); /* 定义窗口背景色 */
clrscr(); /* 清除窗口 */
}
getch();
return 0;
}
楼主帮我看一下这个程序 初学c语言 写界面 书上这个程序 但是编译不通过 高手指点一下
lishanya1 2010-05-13
  • 打赏
  • 举报
回复
用 C语言编写界面太难了吧 。受不了 那个 太高难度
cy330206 2010-05-13
  • 打赏
  • 举报
回复
楼主是这方面的高手,小弟也打算从事嵌入系统。。呵呵
cy330206 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bobyy69 的回复:]
呵呵,好强啊~~~
用纯C来画界面~
帮顶!
学习了
[/Quote]
这个张科比。。。。
mymtom 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zrcvic 的回复:]

唉……整个GNOME都是用C写的,怎么会没有人用呢?还有,用C写界面没什么大不了的,和C++、Java差不多,就是把 mybox.setwidth(3) 对象方法式换成 set_box_width(mybox, 3) 句柄式罢了……谁说不能用C语言编写面向对象程序我就和谁急……
[/Quote]
没错啊,面向对象是一种设计思想,和语言无关。
wade_2003 2010-05-13
  • 打赏
  • 举报
回复
用C写界面,还不会呢
SimonYeung 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 pbw8888 的回复:]
c也能编写界面啊?!
[/Quote]
......
pbw8888 2010-05-13
  • 打赏
  • 举报
回复
c也能编写界面啊?!
redred82 2010-05-13
  • 打赏
  • 举报
回复
我想说的就是,用C写界面的人,也有可能会用ui库,反之也是,没必要说的那么绝对,我用C,做网页就使用java,做动画就是as,写桌面程序也可使用C#。这样有人会说这样不精,其实要精应该不是哪种语言,而是数学,物理等知识。
zrcvic 2010-05-13
  • 打赏
  • 举报
回复
唉……整个GNOME都是用C写的,怎么会没有人用呢?还有,用C写界面没什么大不了的,和C++、Java差不多,就是把 mybox.setwidth(3) 对象方法式换成 set_box_width(mybox, 3) 句柄式罢了……谁说不能用C语言编写面向对象程序我就和谁急……
vanchristin 2010-05-13
  • 打赏
  • 举报
回复
楼上各位强,不明真相群众路过
elegant87 2010-05-13
  • 打赏
  • 举报
回复
对WindowsAPI和Linux要深入研究啊!
__Jun__ 2010-05-13
  • 打赏
  • 举报
回复
我们公司也是用C写的。
zhangyafei13 2010-05-13
  • 打赏
  • 举报
回复
学习C语言的,看下。
某某9 2010-05-13
  • 打赏
  • 举报
回复
没弄过
zenny_chen 2010-05-13
  • 打赏
  • 举报
回复
呵呵……呵呵呵……

做山寨机MTK开发的都是用C来写界面的。呵呵呵。
不过偶不是做界面部分。
说到做界面的话还是Cocoa Framework最好用,呵呵
moon6623 2010-05-13
  • 打赏
  • 举报
回复
之前用C,现在往qt转
加载更多回复(6)
c学生成绩管理系统.rar
这次的课程设计和以往写的程序比起来,无论是在篇幅和复杂度上都提高了不少,我在写这个程序的过程中,遇到了不少的困难,也积累了不少的知识和经验,特别是在以前的时候我倍感头疼的文件部分,我也有了一定的了解,我想这对我今后的学习和工作是十分有益的。在这里我特意将在我在写程序过程中的体验和要注意的问题总结如下:
一. 基础知识一定要牢固。
在调试程序的过程中,有时候程序出了错误,找了半天找不到在哪里。这个时候往往会感觉十分不耐烦,但往往越是一些很小的小错误,越是往往容易被人疏漏,诸如“print”啦,注释引号括号不成对出现,遗漏scanf函数中的&符号等等,而这些却可能导致整个程序不运行,从而浪费了不少的时间。等到发现时,只会郁闷不已。因此,对于一个合格的程序员来说,牢固的基础知识是十分重要的。我们虽然没有必要达到那么高的要求,但牢固的基础知识对于程序的熟练编写和时间的节省也是大有裨益的。
二.调试程序的过程中,经验的积累和技巧的掌握是必要的。
在这次的课程设计中,由于要编写的程序的篇幅较大,因此不可避免地出现了相当多的错误,调试程序花了我不少的时间。我发现调试程序是有规律和技巧可寻的。/**/注释符号的灵活运用提供了较大的空间。通过程序的分块屏蔽可以很容易地找出错误的所在。函数的运用也是很自然的。因为有时一个临时的功能函数可以让我们很直观地知道一段程序是否正确。当然,有时,错误提示信息可以直接提供错误的所在,但是C语言自动查找错误的功能毕竟是有限的,大多数情况之下,我们还是必须要依靠自己。这时,经验就显的很重要了,我们在平时编写程序时,应多注意有意识地积累一些,会有好处的。
三.务求简单
我在编写程序的过程中发现,在某一个功能多个算法可以实现的时候,最好采用最简单的方案,这样可以减少出错的几率,也可以省去不少的麻烦。在我的程序中,有一个例子,可以很好地说明这个问题:在编写score_research()函数的时候,有一个地方可以用排序算法实现,也可以用一个标志变量加101然后在函数的末尾处再减101,这样大大地简化了程序,但是运算量也明显地加大了。然而计算机硬件已经发展到今天这个地步,对于我们写的这种小程序,计算速度已经不是问题,因此,务求简单,减少出错率才是正确的选择。
四.函数的运用和程序的模块化。
在这次课程设计里,我终于体会到了模块化带来的方便和优越。通过模块化处理,将最初的程序的功能构想以函数的形式划分成几个模块,模块下再设子模块,一层一层直到程序的功能实现为止。这样,不仅程序易于编写,还易于维护。最重要的是,如果程序出错,还易于查找和修改。
以上是我在程序的编写过程中的一点心得和体会,虽然很肤浅,但毕竟是通过自己的亲身实践得来的,感受较深。

另外,在程序的操作中还有一些需要注意的问题,主要有以下几点:
一.输入数据时,也就是在执行input()和input_2()函数的时候,一定要注意按照程序提供的输入顺序输入数据,否则极有可能导致文件的输入错误;还有,由于学生基本情况文件和成绩文件是由input()和input_2()两个函数先后完成的,所以在输入时一定要注意前后相同学生的姓名一定要相应地一致。如果输入了不同的姓名,虽然不会导致程序出错,但对于程序的结果来说,却是逻辑上的一个大大的错误。
二.为了使程序的操作更加简便,人性,我在程序中有加进了一个view_two()函数,目的是为了使程序每执行完一项功能之后,都能出现菜单以供选择,可以非常方便地执行下一个功能。另外,在view_two()函数和view()函数中,我还设置了exit()子函数。执行这个函数,便可以直接返回原代码界面。操作者若是在操作中注意到了这些,将会使操作简单不少。
三.当然,不可避免地,由于我的程序大部分是在机房编写和调试完成,时间相对较紧张,再加上我本来就对C语言没有精深的钻研和琢磨,因此程序写得相当粗糙,在有些功能的实现上,只是将其功能大致完成,并未考虑到操作的简便化等问题。例如在input()和input_2()函数的执行中,本来每个学生的基本情况和成绩应该是在一起输入的,这样才符合一般人的正常思路,但由于学生的基本情况和成绩是由两个函数分别执行完成的,姓名需要输入两次才能将学生的姓名输入到两个结构体中,因为姓名是存储在字符数组里面的,所以用一般的赋值语句是解决不了的。我只好采用了一个原始的办法,把两个结构体里的姓名分别用两个输入语句实现。但这样又导致了另外一个问题,即两次姓名的输入如果不相同时所导致的错误,而且这个问题在学生的数量越多即两次输入离得越远时表现得越突出,但我也想不出更好的办法来解决这个问题了。

通过这次做课程设计,我感觉我学到了不少的东西,尤其是耐心的培养和在宏观上组织问题的能力让我受益非浅。这不仅是设计程序所必需的,也是今后的学习和工作所不可缺少的。希望我能在这次课程设计的基础上,继续学习更多的C语言的知识,使自己的编程能力更上一层楼。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧