Dev-Cpp起名 Template文件不完全讲解—-建立QT四工程实例

//========================================================================
//TITLE:
//    Dev-Cpp Template文件不完全讲解—-建立QT肆工程实例
//AUTHOR:
//    norains
//DATE:
//    Monday  5-November-2007
//Environment:
//     Windows XP
//========================================================================
   
Dev-Cpp是一个不错的编写翻译C++的器械,而它的Template就是让武器越来越辛辣的磨刀石,然后令人相当慢的却偏偏是那磨刀石,在Dev-Cpp的文书档案中有关那磨刀石的用法只字不提.所以,本文接下去所涉嫌的Template用法,不是从网上征集,就是上下一心的可疑检查评定,所以各位看官注意了,本文有一点都不小希望对Template用法不适当之处,所以本文才起名称为”不完全”.
   
   
本文以建立3个Qt工程为实例,表达Dev-Cpp的Template的用法.在下文的例证中,以”#”打头的为对下1行标识符号的诠释表达.当然,在其实的.template文件中,”#”便是注释的意趣,其遵守和C++的”//”相似.
   
   
接下来谈起的事例,节选于自家改装的Qt工程模板,各位看官假若有必要,能够在此下载:http://download.csdn.net/source/277992
   
   
为方便讲解,这一个是Dev-Cpp建立Qt工程的截图(下文中涉嫌的”截图”即为该图):
    起名 1
    
    
    #模板的胚胎标志符
    [Template]
   
   
#看名字应该是本子号,但实际上并不像.假设您将该字段设为0或一.0之类,则截图-④(指截图中圈出肆的区域,下同)的C
Project无效.
    #实际是什么样含义,笔者也没完全弄明白,姑且令其为一.
    ver=1
   
    #工程的名字,展现在截图-二.
    Name=Hello World
   
    #工程展现的图标,展现在截图-5
    Icon=Qt4_HelloWorld.ico
   
    #工程的叙说,显示在截图-3
    Description=A classic Hello World program
   
    #工程位于的标签名字,呈现在截图-一
    Catagory=Qt4
   
   

  未来为主不跟硬件通信,软件开发很少有人去了然那么些逻辑运算符了,平常会用到部分逻辑运算符,前几日整治下,通俗的敞亮一下各运算符是怎么景况.

   
    #单元0的序曲标志符
    [Unit0]
   
   
#树立工程后的默许文件名.”CppName”意味着那是C++文件,若是是C文件,则是”CName”.
    CppName=main.cpp
   
    #CppName所提示的cpp文件的代码来源.如若是C文件,则”Cpp”要改为”C”.
    Cpp=Qt4_HelloWorld.txt
   

     先放一下测试代码,那个代码本身未有怎么意义,首若是对结果的证实   

   
   
    #工程的开场标志符
    [Project]
   
   
#单元总数.因为那边唯有Unit0一个单元,所以那里安装为一.只要有八个单元,那么单元应该以Unit一,Unit二格局递增.
    UnitCount=1
   
    #编译的门类,各数值代表的意思如下:
    # 0 — Windows Application
    # 1 — Console Application
    # 2 — A static library (.a)
    # 3 — Dynamic Link Library (DLL)
    Type=0
   
    #是不是是Cpp文件.即使为”一”,则截图-4处不可选.
    IsCpp=1
   
    #.a库链接的目录.例子路径为Qt安装时的地点.   
Linker=D:/Program/Application/Qt/lib/libQt3Support四.a_@@_D:/Program/Application/Qt/lib/libQtAssistantClient4.a_@@_D:/Program/Application/Qt/lib/libQtCore4.a_@@_D:/Program/Application/Qt/lib/libQtDesigner4.a_@@_D:/Program/Application/Qt/lib/libQtDesignerComponents4.a_@@_D:/Program/Application/Qt/lib/libQtGui4.a_@@_D:/Program/Application/Qt/lib/libqtmain.a_@@_D:/Program/Application/Qt/lib/libQtNetwork4.a_@@_D:/Program/Application/Qt/lib/libQtOpenGL4.a_@@_D:/Program/Application/Qt/lib/libQtSql4.a_@@_D:/Program/Application/Qt/lib/libQtXml4.a_@@_
   
    #.h文件所在之处.例子路径为Qt安装时的地点.   
Includes=D:/Program/Application/Qt/include;D:/Program/Application/Qt/include/ActiveQt;D:/Program/Application/Qt/include/Qt;D:/Program/Application/Qt/include/Qt三Support;D:/Program/Application/Qt/include/QtAssistant;D:/Program/Application/Qt/include/QtCore;D:/Program/Application/Qt/include/QtDesigner;D:/Program/Application/Qt/include/QtGui;D:/Program/Application/Qt/include/QtDBus;D:/Program/Application/Qt/include/QtMotif;D:/Program/Application/Qt/include/QtNetwork;D:/Program/Application/Qt/include/QtSvg;D:/Program/Application/Qt/include/QtOpenGL;D:/Program/Application/Qt/include/QtSql;D:/Program/Application/Qt/include/QtTest;D:/Program/Application/Qt/include/QtUiTools;D:/Program/Application/Qt/include/QtXml
   
    #lib库所在的目录.例子路径为Qt安装时的地方.
    Libs=D:/Qt/4.0.0/lib
   
    #此间的Name字段毕竟是怎么成效,作者也没搞清楚.
    Name=Qt HelloWorld
   
    #工程的Ico图标,该图标将在所树立的工程文件夹下出现.
    ProjectIcon=Qt4_HelloWorld.ico
   
    #编写翻译器选项.那里丰盛-DQT三_SUPPOHighlanderT是让编写翻译器帮助Qt三.
    Compiler=-DQT3_SUPPORT

class Program
    {
        static void Main(string[] args)
        {
            int a = 123, b = 0;
            int result;

            #region 1.逻辑 非(~) 运算

            a = 123;
            result = (byte)~a;
            Console.WriteLine("{0} 非(~) 的运算", a);
            PrintResult(result, a, b);

            #endregion

            #region 2.逻辑 与(&) 运算

            b = 12;

            result = a & b;
            Console.WriteLine("{0} 与(&) {1} 的运算", a, b);
            PrintResult(result, a, b);

            #endregion

            #region 3.逻辑 或(|) 运算

            result = a & b;
            Console.WriteLine("{0} 或(|) {1} 的运算", a, b);
            PrintResult(result, a, b);

            #endregion

            #region 3.逻辑 异或(^) 运算

            result = a ^ b;
            Console.WriteLine("{0}  异或(^) {1} 的运算", a, b);
            PrintResult(result, a, b);

            #endregion

            #region 4.左位移(<<) 运算
            a = 5;
            b = 4;
            result = (byte)(a << b);
            Console.WriteLine("{0} 左移位( << ) {1}", a, b);
            Console.WriteLine("运算结果:\t{0}", result);
            Console.WriteLine("{0}的2进制值为:\t{1}", a, FormatBase2(a));
            Console.WriteLine("{0}的2进制值为:\t{1}", result, FormatBase2(result));

            #endregion

            #region 5.右位移(>>) 运算
            a = 5;
            b = 1;
            result = (byte)(a >> b);
            Console.WriteLine("{0} 右移位( >> ) {1}", a, b);
            Console.WriteLine("运算结果:\t{0}", result);
            Console.WriteLine("{0}的2进制值为:\t{1}", a, FormatBase2(a));
            Console.WriteLine("{0}的2进制值为:\t{1}", result, FormatBase2(result));

            #endregion

            Console.ReadKey();
        }

        static void PrintResult(int result, int a, int b)
        {
            Console.WriteLine("运算结果:\t{0}", result);
            Console.WriteLine("{0}的2进制值为:\t{1}", a, FormatBase2(a));
            if (b > 0)
            {
                Console.WriteLine("{0}的2进制值为:\t{1}", b, FormatBase2(b));
            }
            Console.WriteLine("{0}的2进制值为:\t{1}", result, FormatBase2(result));
            Console.WriteLine();
        }

        static string FormatBase2(int num)
        {
            string r = Convert.ToString(num, 2);
            while (r.Length < 8)
            {
                r = "0" + r;
            }
            return r;
        }
    }

   
用该Template建立工程未来,就足以平昔在Dev-Cpp的菜单中选拔Compile对工程文件实行编译,而不用设置环境变量后再在命令行中输入编写翻译指令.其实之所以能够不用麻烦命令行,无非是Linker,Includes和lib字段的值告诉了Dev-Cpp该怎样调用编写翻译器,仅此而已. 

 

证实一下,关于位的逻辑运算,比如常说的
:2个七人字节,能够知晓成七人是三个字节,平常用于硬件的局地权力设置,比如:
1111111一,2个字节就能够操纵七个权力,确实很省啊.

以下的事例都与那么些二进制相关,看到2进制的结果就会通晓,原来这一个标记的起名是那么直观.

先普及一下处理器基础知识,总计机是只认识0和一; ,大家叫,真和假,恐怕专业点叫
true和false

 

 1. 非运算 c#运算符号:~ ,windows总括器运算符号: Not

     123 非(~) 的运算
  运算结果:       132
  1二三的贰进制值为: 0111101壹
  13二的2进制值为: 一千0100

    依照地方的结果,清楚的看出,原来”非”的运算,是那么粗略,

   
通俗的讲正是:假诺是真(一)的,那么正是假(0),如若是假的(0)那么就是的确(1)

 2. 与 运算 c#标记:&,总结器符号:And

  123 与(&) 12 的运算
  运算结果:       八
  123的贰进制值为: 0111101一
  12的二进制值为:   00001100
  8的二进制值为:     0000一千

   依据二进制结果来看,

   通俗的将:借使 都以”真的(一)”那么才是”真的”否则就是”假的(0)”.

三.逻辑 或(|) 运算 ,总括器符号:Or  
   123 或(|) 12 的运算 
起名,  运算结果:       1贰柒
  1二3的二进制值为: 0111101一
  1二的二进制值为:   00001100
  1二柒的二进制值为: 0111111壹  

   通俗解释:假使有一个真正,那么就是当真(一),不然正是假的(0);

四.逻辑 异或(^) 运算 ,总计器符号:Xor  
  123  异或(^) 12 的运算
  运算结果:       11玖
  1二叁的2进制值为: 0111101一
  12的二进制值为:   00001十0
  11九的2进制值为: 0111011壹

  关于异或的认证,测试参数做了些改动,为了把异或的3种恐怕都显现出来.

  异或的定义是:相同的为假(0),分化的为真(壹); 这一个就好像这么解释就行了.

5.左位移(<<) 运算 总结器符号:Lsh

   5 左移位(<<) 4
    运算结果:       80
    伍的二进制值为:    0000010一
    80的二进制值为:  010一千0

   一句话:往左侧补多少个零

陆.右位移(>>) 运算 计算器符号:RAV四sh

   5 右移位( >> ) 1

   运算结果:       二
   伍的2进制值为:   00000十一
   二的二进制值为:   000000十

   解释:往左侧补陆个零

 

骨子里看来这一个结果,差不离不用解释了,他都以按”位”进行总结的,转换为二进制就更直观了.

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图