KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

[ 19366 查看 / 84 回复 ]

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

以下引用kkkklll在2006-5-16 15:21:37的发言:
我的IP呀……而且Proxy设置不能……想用个马甲都不行……

我不是M$员工,只是外包来M$做测试的,或许是做测试级比较低所以见得不全。但是我的确没见到还有人用MFC的了,Dev那边也只是用C++加API,或VC++.Net。几年前的程序当然很多用的啦。

C#用的人比较多,毕竟M$主推这个瓜瓜,VS2005的C# IDE功能也相当强大。呵呵,又给M$作广告了。


MFC某几乎不用,通常command解决一切
因为简单,直观,快,小……
即便硬要gui那么API随便做一个简单的就好了
不喜欢去一层一层的分析类似MFC那些东西,费事又枯燥

感觉Delphi要体贴一些,不过毕竟习惯C++了,也不想改……

顺便说一下,今天我貌似用错马甲了 XD
折户伸治~~~~伪~

大坑开挖
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

以下引用wdx04在2006-5-15 19:18:33的发言:
不知道楼主想做什么。
这是我猜楼主的意思:

#include "stdafx.h"

#define NONIUS_NEXT  (PosNonius++,Nonius->next)
#define NONIUS_PREV  (PosNonius--,Nonius->prev)
#define NONIUS_HEAD  (PosNonius = 0,head)
#define NONIUS_FOOT  (PosNonius = Lenlist,foot)
#define NONIUS_NULL  (PosNonius = 0,NULL)

typedef unsigned long ulong;

struct Node
{
    ulong value;
    Node *next,*prev;
}*head,*foot;

class TLK
{
private:
    Node *Nonius;
    ulong PosNonius;

    void glideNonius(ulong position)
    {
        if(position>PosNonius)
        {
            while(position>PosNonius)
                Nonius=NONIUS_NEXT;
        }
        else if(PosNonius>position)
        {
            while(PosNonius>position)
                Nonius=NONIUS_PREV;
        }
    }

public:
    TLK()
    {
        Nonius=head;
        PosNonius=0;
    }

    ulong LKgetValue(ulong position)
    {
        glideNonius(position);
        return Nonius->value;
    }

    void Print() const
    {
        printf("PosNonius=%d\n",PosNonius);
    }

    void IsNoniusEquals(Node *pnode) const
    {
        if(pnode==Nonius)
            printf("Yes\n");
        else
            printf("No\n");
    }

};

class TTR : private TLK
{
public:
    TTR()
    {
    }

    ulong TRgetChild(ulong ramusPos)
    {
        return LKgetValue(ramusPos);
    }

    void Print() const
    {
        TLK::Print();
    }

    void IsNoniusEquals(Node *pnode) const
    {
        TLK::IsNoniusEquals(pnode);
    }

};

int main(int argc, char* argv[])
{
    Node testNodes[10];
    head=testNodes;
    foot=testNodes+9;
    for(int i=0;i<9;i++)
    {
        testNodes.next=testNodes+i+1;
        testNodes[i+1].prev=testNodes+i;
        testNodes.value=i;
    }
    testNodes[9].value=9;
    TTR ttr;
    printf("%d\n",ttr.TRgetChild(3));
    ttr.Print();
    ttr.IsNoniusEquals(testNodes+3);
    return 0;
}

执行结果是:
3
PosNonius=3
Yes
没有错误。


感觉
基本有阁下说的这个意思,虽然表述不一样
通过调试了 XD

啊啊,看来问题出在RP上了~~

~~~~~~
无所谓了
反正决定重写了~—v—
折户伸治~~~~伪~

大坑开挖
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

以下引用kkkklll在2006-5-16 15:21:37的发言:
我的IP呀……而且Proxy设置不能……想用个马甲都不行……

我不是M$员工,只是外包来M$做测试的,或许是做测试级比较低所以见得不全。但是我的确没见到还有人用MFC的了,Dev那边也只是用C++加API,或VC++.Net。几年前的程序当然很多用的啦。

C#用的人比较多,毕竟M$主推这个瓜瓜,VS2005的C# IDE功能也相当强大。呵呵,又给M$作广告了。


C#的类库不比MFC、VCL简单多少……高一学的C#,除了语法和OOP概念外其它都忘干净了囧rz

另:这里哪位做NDIS比较有经验的,可否指点一下,小弟不知道要买哪本书合适,电子书又找不到好的=_=|||
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

关于MFC,引用下某人的一段话:“在MFC被设计出来初期,那时的C++编译器还具有很多的限制,并且那时主要的平台还只是16位的Windows。不幸的是,由于MFC被设计成为一个框架,使得我们很难利用新编译器中那些更好的C++特性来改进它,也很难将Windows中的很多新特性添加到MFC中。我不喜欢MFC的地方是它高度依赖DLL的特性——因为它将导致许多兼容性方面的问题;还有就是MFC的整个框架设计——它在应用程序的设计中限定了太多东西。”我本人最恶MFC的一点就是它限定了必须使用Doc/View架构。现在Windows下可用的GUI toolkit当中WTL是最好的了,我现在正在用Python语言实现一个WTL for Python,至于M$的Managed C++,C++/CLI,C#之类,一概无视。
KEYFC第二届版杀 - 川澄 舞
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

以下引用LOVEHINA-AVC在2006-5-16 15:50:54的发言:


C#的类库不比MFC、VCL简单多少……高一学的C#,除了语法和OOP概念外其它都忘干净了囧rz



个人认为,C#的最大好处就是简洁,与人类的思维更相似。C#的函数,只要大概知道它在哪,在列表上大概翻一下就找到了,因为光看函数名就知道这个东西大概是做什么的,鼠标放在函数上就可以看到更详细的信息,而参数名们都有其特定的意义,表示十分直接。基本上看到一个函数就知道它是干什么的了。看到一个类,打一个.就知道它能实现什么功能了。

所以,只要会语法,会OOP概念,就可以写了。呵呵。

C#不用背函数,是那些像我一样的懒人们的好工具呀,挖沙沙。人类果然是为了更懒而在不断地奋斗着呀。这便是变猪的真谛了。
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

C#也好……Java也好……
其本质是牺牲用户时间节省程序员时间……
其思想的根本就是“瑞士军刀”理念和对于计算机会越来越快直到可以无视绑定平台带来的损失的“信念”……

所以我还是坚持C/C++……
なのに、春を待ちわびる心消せない。
いつか、晴れた空のような笑顔に会えるよね?

……陽だまりの中で……
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

以下引用LOVEHINA-AVC在2006-5-16 15:50:54的发言:

另:这里哪位做NDIS比较有经验的,可否指点一下,小弟不知道要买哪本书合适,电子书又找不到好的=_=|||


正在做NIDS..... Prz
飛べない翼に、意味はあるんでしょうか?
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

MISHA正在做NDIS??
我记得你好像说过你不做驱动的耶……
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

以下引用LOVEHINA-AVC在2006-5-16 22:00:29的发言:
MISHA正在做NDIS??
我记得你好像说过你不做驱动的耶……



NIDS <> NDIS
飛べない翼に、意味はあるんでしょうか?
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

以下引用wdx04在2006-5-16 18:00:07的发言:
关于MFC,引用下某人的一段话:“在MFC被设计出来初期,那时的C++编译器还具有很多的限制,并且那时主要的平台还只是16位的Windows。不幸的是,由于MFC被设计成为一个框架,使得我们很难利用新编译器中那些更好的C++特性来改进它,也很难将Windows中的很多新特性添加到MFC中。我不喜欢MFC的地方是它高度依赖DLL的特性——因为它将导致许多兼容性方面的问题;还有就是MFC的整个框架设计——它在应用程序的设计中限定了太多东西。”我本人最恶MFC的一点就是它限定了必须使用Doc/View架构。现在Windows下可用的GUI toolkit当中WTL是最好的了,我现在正在用Python语言实现一个WTL for Python,至于M$的Managed C++,C++/CLI,C#之类,一概无视。


=v=其实这段话之前不是还有一句嘛赞MFC的|||“我认为MFC是一个了不起的框架库。”

关于C#和C++之间的关系,这个人也有说到嘛~~~
我认为那些新的编程语言(如Java,C#,以及VB.NET)都是针对以下两个主要的问题而开发出来的——简化软件的开发过程以及对于Internet应用程序开发提供更好的的支持。简化软件的开发过程使得更多的开发者可以写出更多更好的应用程序并减少完成开发项目所需要的时间。而支持Internet的开发,对于这个Internet越来越深入到我们的日常生活中的时代来说,毫无疑问是一件非常重要的事情。

我认为C++会继续作为一门重要的编程语言发挥作用,尤其是对那些独立软件开发商和那些系统级开发来说更是如此。从另一方面来说,我相信.NET将会在不久以后成为另外一个非常重要的开发平台。对于未来来说,.NET拥有成为主流编程平台的潜力,但我们必须认识到,这样的过渡阶段肯定要持续一段时间。

我建议那些决心以后只做Internet相关开发的人可以直接去学习C#或者VB.NET,同时学习.NET平台。而那些更多地了解Windows平台以及它所提供的服务方面知识的人,当然就必须需要更多地了解有关Win32 API以及那些支持Windows编程的库相关的知识。


至于语言、框架库好不好的问题,我觉得还是要看看适不适合需求这个标准衡量,当然需求本身也是个很抽象的东西--__--b

楼上有人说CLR或者JVM节省程序员的时间的观点也得到了印证,但是至于是否浪费了用户的时间这点很难讲,不知道有没有统计C#和C++相比损失的性能和节约时间的比率之类的东西。面向开发的层面不一样,需求不一样,擅长处理的领域也不同,可能游戏里面对性能要求更苛刻一些,但我相信通常情况下软件交付时间越短越能赢得更多的客户(爆),其实程序员的时间一定程度上也算作客户的时间嘛。

当然还期待各位强者继续衡量下,某还是边看边学|||||||
AJI,舰狗
TOP