精华内容
下载资源
问答
  • 【问题】使用ADT去调试Android程序,可以用F5 Step IntoF6 Step Over 单步调试等等:但是想要继续运行程序,却不知道如何操作。【解决过程】1.试了试F11的Debug,会导致重新启动调试,而不是继续运行。2.网上也找到...

    【问题】

    使用ADT去调试Android程序,可以用

    F5 Step Into

    F6 Step Over 单步调试

    等等:

    2fd8f8408039435ad7734479b5b4b331.png

    但是想要继续运行程序,却不知道如何操作。

    【解决过程】

    1.试了试F11的Debug,会导致重新启动调试,而不是继续运行。

    2.网上也找到了几个类似的问题:

    3.后来的后来,还是自己折腾,终于找到了:

    b8584498b5702d190bdc2a3e9bdf6d5d.png

    即,对于

    Step Return,快捷键是F7

    就可以实现:

    从一个断点,运行到下一个断点,即我们所希望的“继续运行”的效果。

    4.后来专门去找了找Step Return的解释:Step Return

    Select the Step Returncommand to return from a method which has been stepped into. Even though we return from the method, the remainder of the code inside the method will be executed normally.

    To step return from a method you must have execution suspended and be stepping through code.

    结果,还是不够明确。

    5其实,本身Step Retrun,可以理解为:

    点击了Step Return,就去执行下一步(Step)了,然后直到,出现什么情况,能到导致代码被中断,所以才会返回(Return),即效果就是继续运行了。

    不过,其本意是,返回,当前函数所在的代码的,上一级的父函数。

    但是此处,基本就是:

    Step Return ~= F5= 继续运行

    【总结】

    ADT调试Android程序,其实就是用的Eclipse,其中调试时,想要实现继续运行的效果,就是对应的

    Step Retrun,快捷键是F7.

    总之,还是有点变态的。没有VS中的F5容易理解。

    展开全文
  • 如题:visual studio 2005怎么运行C语言程序,我知道怎样建立 [img=http://img.my.csdn.net/uploads/201301/15/1358218441_5019.jpg][/img]
  • 本文中记录了笔者在基于...1.1、问题:Visual Studio MFC中修改好程序之后,怎样编译并建立可运行的exe Ctrl+F5两个按钮同时按下。 1.2、问题:Visual Studio的代码怎么快捷排版/自动排版? 在代码页面,Ctr...

    本文中记录了笔者在基于Visual Studio MFC编程时, 程序调试过程中所遇到的问题及解决方法。

    目录

    1、Visual Studio MFC中的快捷方式

    1.1、问题:Visual Studio MFC中修改好程序之后,怎样编译并建立可运行的exe

    1.2、问题:Visual Studio的代码怎么快捷排版/自动排版/代码行自动对齐?

    2、问题:怎样实现两台电脑之间的网络通讯(20171123YC)

    3、问题:Rich Edit 2.0 Control相关

    4、问题:字符类型转换故障

    5、问题:WSAGetLastError返回0

    6、问题:以太网连接若出现故障则程序卡死

    7、问题:成员的跨类使用

    8、问题:编译时无报错,而运行时产生如下报错

    9、问题:C++中定时器的使用方法记录

    10、问题:C++中测量某一段代码的运行时间的方法

    11、问题:C++建立并写入.txt文件的方法

    12、问题:C++创建文件夹和子文件夹的方法

    13、问题:C++中怎么将CString赋值给char数组

    14、问题:C++中怎么将char转化为CString

    15、问题:VS2012中32位和64位之间编译的转换问题

    16、问题:Debug Assertion Failed!

    17、问题:怎样使得VC++对话框大小不可调

    18、问题:怎样使得VC++对话框最大化 / 最小化

    19、问题:Visual Studio MFC中修改STATIC的文本颜色和文本字体等

    20、问题:VC++串口通讯怎么以HEX格式通讯 20170921YC

    21、问题:VS怎么加快编译速度?

    22、问题:怎样让VS只显示error不显示warning?

    23、std::vector的清空,Vector清空数据与释放内存(.clear与.swap的区别与使用)

    24、c++ vector(向量)使用方法详解(顺序访问vector的多种方式)

    25、问题:怎样让工控机一上电就自动运行某程序?(20171113YC)

    26、问题:基于对话框的MFC怎样不按按钮自动运行该按钮的响应函数?(20171113YC)

    27、问题:MFC鼠标滚轮消息WM_MOUSEWHEEL失灵

    28、问题:在对话框最小化之后恢复对话框显示,此时怎样执行响应函数

    29、问题:怎样获取MFC对话框中某一控件的位置(在对话框中的坐标)

    30、问题:怎样实现MFC对话框最大化时控件也随比例最大化或者还原

    31、问题:error C2061 语法错误: 标识符“CMy3DLaserApp1Dlg  ……  注意: C++ 不支持默认 int

    32、问题:怎样实现VS2010生成的.exe在其他电脑运(20171127YC)

    33、问题:vs2010 资源在另一个编辑器中打开 怎么回事?

    34、问题:radio button怎样设置为默认选中?

    35、问题:文件打开和保存时,路径、文件名的选择

    36、问题:在其它电脑上,exe双击之后或程序编译运行之后,程序不运行也无报错。(20171226)

    37、问题:USB接口无反应

    38、问题:Visual Assist X插件安装

    39、问题:彻底解决COM端口被占用(在使用中)问题的办法

    40、问题:MFC Radio Button 使用 分组 RadioButton 用法

    41、问题:怎样让VC自动关闭弹出的MessageBox对话框

    42、问题:MFC怎样截获界面最大化最小化按钮的处理

    43、问题:使MFC对话框不响应标题栏双击

    44、问题:MFC获取系统当前时间

    45、MFC的对话框的密码登录

    46、C++中怎样将double转化成字符串

     


    1、Visual Studio MFC中的快捷方式

    1.1、问题:Visual Studio MFC中修改好程序之后,怎样编译并建立可运行的exe

    Ctrl+F5两个按钮同时按下。

    1.2、问题:Visual Studio的代码怎么快捷排版/自动排版/代码行自动对齐?

    在代码页面,Ctrl+A,全选代码,之后分别:Ctrl+K、Ctrl+F,即可实现自动排版。

    或者采用另一种方式:Ctrl+A,Alt+F8,即可实现。

    ……………………………………………………………………………………………………………………………………………

    2、问题:怎样实现两台电脑之间的网络通讯(20171123YC)

    1)、用网线连接两台电脑

    2)、在两台电脑的“打开网络和共享中心”→“更改适配器设置”中均应该是如下状态:

    IP地址:设置成最后一位不一样的

    3)、在两台电脑上打开“网络调试助手”(可网上下载),协议类型分别是server和client,两边的IP都设置成和服务器server一致,端口号设置成一样的。

    4)、连接正常的现象:两端能正常互相传输信息即可。

    5)、如果连接有问题,可尝试以下操作:

    ①更改端口号;

    ②服务器和客户端反向,也即两台电脑配置颠倒一下试一试。20171123采用这个办法解决了两台电脑无法网络通讯的问题。

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    怎样实现2个网络调试助手的通信?

    使2个网络调试助手之间建立通信,以方便调试:

    1、两台电脑用网线连接。确保网线两端的连接有效。

    2、电脑1的设置:

    →右键,属性

    双击

    网络配置成上述那样,之后确定。

    3、电脑1上打开如下软件:

    软件的参数配置如下:

    协议类型:TCP Server(应先配置服务器);本地IP地址:和刚才在“网络和共享中心”中配置的一致;本地端口号:如果配置成8080则无法连接,最后配置成了8081方可连接。

    4、之后就可以进行连接,连接成功后如下图所示:

    5、电脑2上:

    “网络和共享中心”中配置IP地址为:192.168.1.90,也即和电脑1的192.168.1.91在最后一位有区别即可。

    6、在电脑2上打开如下软件:

    软件的参数配置如下:

    协议类型:TCP Client

    服务器IP地址:192.168.1.91(和电脑1保持一致)

    服务器端口:8081(和电脑1保持一致)

    之后就可以进行连接。

    (客户端Client的连接应该是在服务器Server之后。)

    7、服务器连接成功之后,就可以进行电脑1和电脑2之间的网络通信。

    ……………………………………………………………………………………………………………………………………………

    3、问题:Rich Edit 2.0 Control相关

    一个基于Dialog的对话框,放入一个Rich Edit 2.0 Control,(其他都不作改动)对话框就不显示了呢?

    http://bbs.csdn.net/topics/20383900

    http://blog.csdn.net/wuhenyouyuyouyu/article/details/40422247

    解决办法:

    Caution   If you are using a rich edit control in a dialog box (regardless whether your application is SDI, MDI, or dialog-based), you must call AfxInitRichEdit once before the dialog box is displayed. A typical place to call this function is in your program's InitInstance member function. You do not need to call it for each time you display the dialog box, only the first time. You do not have to call AfxInitRichEdit if you are working with CRichEditView.

    也即在CMyApp::InitInstance()中加上这条语句
    AfxInitRichEdit();

    【YC:注意:应该在C<工程名>App::InitInstance()中的最前面加上上述语句。】

    今天遇到这个问题,特此记录!

    总结:对于子对话框中运用rich-edit control控件的情况,应该在主对话框对应的.cpp(注意,不是Dlg.cpp)文件的InitInstance()函数的开头处添加语句:AfxInitRichEdit();

    ……………………………………………………………………………………………………………………………………………

    4、问题:字符类型转换故障

    报错:不能将参数 1 从“LPTSTR”转换为“char *”与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

    http://www.aiuxian.com/article/p-1257009.html

    ……………………………………………………………………………………………………………………………………………

    5、问题:WSAGetLastError返回0

    WSAGetLastError返回0

    最近使用wince开发的socket连接公网IP,发现一些情况下调用WSAGetLastError返回的结果为0,而0是socket正常的标志,而明明SOCKET_ERROR == nRet了,具体发现一部分调用返回10065之类的,而一部分返回0.后终于找到原因:int err=WSAGetLastError();的调用必须放到其他系统函数调用之前,也就是说,出现错误后,第一时间存储WSAGetLastError结果,而不能调用其他函数之后再调用此函数。因为调用系统函数会清除WSAGetLastError,致使结果返回0.

     

    http://blog.csdn.net/tianbaowen/article/details/8485567

    ……………………………………………………………………………………………………………………………………………

    6、问题:以太网连接若出现故障则程序卡死

    网络连接不顺利则程序卡死。需要有网络连接延时判断,连接超时则报错,从而保证程序的鲁棒性。

    参考链接:

    http://www.cnblogs.com/gaoteng/p/3767967.html

    C++ Socket超时设置

    winsocket时,send(),recv()过程中有时由于网络状况等原因,收发不能预期进行,可以设置收发时限:
    int nNetTimeout = 1000; //1
    //发送时限
    setsockopt( socket, SOL_SOCKET, SO_SNDTIMEO, ( char * )&nNetTimeout, sizeof( int ) );
    //
    接收时限
    setsockopt( socket, SOL_SOCKET, SO_RCVTIMEO, ( char * )&nNetTimeout, sizeof( int ) );

    但是当我们的客户端通过connect 函数连接服务端时,这时超时时间很长,那我们应该如何设置connect的超时时间呢?

    查资料后发现,select方法可以查询socket套接字的状态。

     

    fd_set rfd;      //描述符集 这个将测试连接是否可用

    struct timeval timeout;  //时间结构体

    FD_ZERO($rfd);//先清空一个描述符集

    timeout.tv_sec = 60;//

    timeout.tv_usec = 0;//一百万分之一秒,微秒

    u_long ul=1;//代表非阻塞

    ioctlsocket(socket,FIONBIO,$ul);//设置为非阻塞连接

     

    面开始进行connect

    connect(socket,(SOCKADDR*)&addrClient,sizeof(SOCKADDR))

     

    FD_SET(sock,&rfd);

    连接之后将socket添加到描述符rfb中,这样就可以对这个socket进行测试了。一个描述符可以添加多个socket

    下面执行select函数,进行查询

    ret = select(0, 0, &rfd, 0, &timeout);

    if(ret<=0)

    {

         说明超时,仍然没有连接成功

         然后可以在程序中做相应的处理

    }

    如果在超时时间之内连接成功

    则将socket重新设置为阻塞状态

    如下

    ul = 0;

    ioctlsocket(socket,FIONBIO,&ul);

    下面就可以进行正常的recvsend操作了。

    顺便记录下,多网卡发送数据的操作。

    当客户端去主动连接服务端的时候(TCP),默认是不需要指定,本地的ip与端口的,操作系统会自动给你分配端口,然后根据路由自动选择出口。

    但是当你想主动根据不同的数据去选择不同的网卡发送时,我们应该怎么做呢。

    答案很简单,

     

    SOCKADDR_IN addrSelf;//本地地址 

     addrSelf.sin_addr.s_addr = inet_addr("192.168.1.110");//指定网卡的地址 

     addrSelf.sin_family = AF_INET;   addrSelf.sin_port = htons(20000);//本地端口 

      if( -1 == bind(sockClient[i],(SOCKADDR*)&addrSelf,sizeof(SOCKADDR)))//把网卡地址强行绑定到Soket

       {

             绑定成功

       }

     

    YC:在激光雷达网络通讯程序中,调通的代码记录如下:(在TCPSocket.cpp中)

    //↓↓//

           fd_set rfd;//描述符集 这个将测试连接是否可用

        struct timeval timeout; //时间结构体

        FD_ZERO(&rfd);//先清空一个描述符集

        timeout.tv_sec = 2;//秒 (延时时间)

        timeout.tv_usec = 0;//一百万分之一秒,微秒 (延时时间)

     

        u_long ul=1;//代表非阻塞

        ioctlsocket(m_sSocket,FIONBIO,&ul);//将socket置为非阻塞模式;

        //↑↑// 20170628YC

     

           if(connect(m_sSocket,(LPSOCKADDR)&server,sizeof(SOCKADDR))==SOCKET_ERROR)

           {

                  error=WSAGetLastError();

                  if(error==EINPROGRESS) //错误码如果是EINPROGRESS,那说明connect还在继续

                  {

                         ;

                  }

                  else

                  {

                         //↓↓//

                         int result;

                         FD_SET(m_sSocket,&rfd);

                         result = select(0, 0, &rfd, 0, &timeout); //设置延时时间限制。

     

                         if(0==result) //超时

                         {

                                error=WSAGetLastError();

                                /*

                                → “int err=WSAGetLastError();”的调用必须放到其他系统函数调用之前,

                                也就是说,出现错误后,第一时间存储WSAGetLastError结果,

                                而不能调用其他函数之后再调用此函数。因为调用系统函数会清除WSAGetLastError,

                                致使结果返回0。

                                */

                                AfxMessageBox("报错:网络连接超时!");

                          closesocket(m_sSocket);

                          m_sSocket=NULL;

                          return FALSE;

                         }

                         else if(result<0) //select代码执行错误

                         {

                                error=WSAGetLastError();

                                AfxMessageBox("报错:select代码执行错误!");

                                closesocket(m_sSocket);

                          m_sSocket=NULL;

                          return FALSE;

                         }

                         else //正常的情况

                         {

                                //AfxMessageBox("{ 正常的情况 }");

                                ul = 0;

                    ioctlsocket(m_sSocket,FIONBIO,&ul); //如果在超时时间之内连接成功,则将socket重新设置为阻塞状态。

                         }

                         //↑↑// 20170628YC

                  }    

           }

    ……………………………………………………………………………………………………………………………………………

    7、问题:成员的跨类使用

    在主对话框中调用子对话框类中的成员函数,也即成员的跨类使用:

    参考网址:http://blog.csdn.net/abcjennifer/article/details/5502558

    实现过程记录(20170711YC):

    主对话框对应的类:CHokuyoUST10LXDlg;子对话框对应的类:C_MOTOR。

    要在主对话框对应的.cpp中(HokuyoUST10LXDlg.cpp)调用子对话框类的成员函数“void close_window();”,需要有以下几个步骤:

    ①头文件:

    #include "C_MOTOR.h",要么包含在HokuyoUST10LXDlg.h中(推荐),要么包含在HokuyoUST10LXDlg.cpp(推荐)中。 20180717YC:头文件包含在.cpp中比包含在.h中更合适,因为如果包含在.h中,容易导致头文件互相包含、自我包含的问题。在实际使用时,这些问题都需要注意。

    ②友元:

    C_MOTOR.h中定义了C_MOTOR类,在其中加上一句“friend class CHokuyoUST10LXDlg;”,建立友元关系,让CHokuyoUST10LXDlg类成员函数能够调用C_MOTOR类成员。如下图所示:

    ③指针:

    在C_MOTOR.cpp文件开头定义全局变量:

    在子界面的初始化函数BOOL C_MOTOR::OnInitDialog()中,添加代码:pDlg = this;用于记录此时此刻的对话框指针,后续在主对话框中调用该子对话框的函数时需要用到。如下图所示:

    在HokuyoUST10LXDlg.cpp文件开头声明全局变量pDlg:

    在主对话框中(也即HokuyoUST10LXDlg.cpp中)调用函数close_window()时采用如下语句:

    pDlg->close_window();

    如此即可实现主界面对子界面函数的调用,也即跨类调用成员函数。

    (此外,如果需要跨类调用变量,需要对其进行实例化。)

    ……………………………………………………………………………………………………………………………………………

    8、问题:编译时无报错,而运行时产生如下报错

    编译时无报错,而运行时产生如下报错:

    解决方法1:

    http://www.cnblogs.com/flysnail/archive/2011/09/21/2184114.html

    解决方法2:

    也即可能是数组空间不足导致此错误,将数组存储空间进行扩充,将工程中的代码进行如下修改后则不再出现此错误(20170715YC):

    将:

    char trans_former[6+1]={'0','0','0','0','0','0'}; //定义数据转换所用的数组。 <ASCII码→二进制,将转换结果存储在trans_former数组中>

    char trans[6+1]={'0','0','0','0','0','0'}; //定义数据转换所用的数组。 <对trans_former数组中的结果进行规范化,存储在trans数组中>

    char trans_H[6+1]={'0','0','0','0','0','0'}; //定义数据转换所用的数组。 <3 character encoded → 1>

    char trans_M[6+1]={'0','0','0','0','0','0'}; //定义数据转换所用的数组。 <3 character encoded → 2>

    char trans_L[6+1]={'0','0','0','0','0','0'}; //定义数据转换所用的数组。 <3 character encoded → 3>

    改成:

    char trans_former[6+10]={'0','0','0','0','0','0'}; //定义数据转换所用的数组。 <ASCII码→二进制,将转换结果存储在trans_former数组中>

    char trans[6+10]={'0','0','0','0','0','0'}; //定义数据转换所用的数组。 <对trans_former数组中的结果进行规范化,存储在trans数组中>

    char trans_H[6+10]={'0','0','0','0','0','0'}; //定义数据转换所用的数组。 <3 character encoded → 1>

    char trans_M[6+10]={'0','0','0','0','0','0'}; //定义数据转换所用的数组。 <3 character encoded → 2>

    char trans_L[6+10]={'0','0','0','0','0','0'}; //定义数据转换所用的数组。 <3 character encoded → 3>

    有望排除此错误。

    ……………………………………………………………………………………………………………………………………………

    9、问题:C++中定时器的使用方法记录

    C++中定时器的使用方法记录:

    ① 启动定时器:

    SetTimer(1,1000,NULL);//启动定时器1,定时时间是1秒

    ② 定时器回调函数的定义:(.c和.h文件中都应该有)

    范例:

    .c文件中:

    //定时器回调函数。

    void C_3DLS::OnTimer(UINT nIDEvent)

     {

            KillTimer(1); //取消该定时器。此处的ID号“1 ”应与SetTimer()中的ID号一致

            //↑注意:取消定时器的代码宜放在最前面。

     

            //MessageBox(_T("测试定时器中断函数是否执行!"));

            OnBnClickedButtonData_Original();//→给激光雷达发送“GD0000108000\n”,获取激光雷达本次扫描数据。

            //KillTimer(1); //取消该定时器。此处的ID号“1 ”应与SetTimer()中的ID号一致

     }

    .h文件中:

    void OnTimer(UINT nIDEvent);

    ③ 加上“ON_WM_TIMER()”

    C++定时器方面的参考网址:

    1)、
    http://www.jb51.net/article/56623.htm

    2)、

    http://blog.csdn.net/jerrytong/article/details/5771136

    3)、

    http://baike.baidu.com/link?url=792vYttiUxNFFjXVS108ytvp7eFnayYOijrgI85ViZ4tX1hr8U3dJMa4i0vE2cQs7nJkpUDdoa6924PGxxFz2bB6e4Biwqv3G9cmySWBrk3

    ……………………………………………………………………………………………………………………………………………

    10、问题:C++中测量某一段代码的运行时间的方法

    C++中测量某一段代码的运行时间的方法:

    参考网址:

    http://www.cnblogs.com/csonezp/archive/2012/12/25/2833009.html

    1.如果只是要计算程序运行的时间,不需要那么复杂。

    <windows.h> 中的 GetTickCount() 就是干这个的。 

    TimeStart=GetTickCount();

       .......(代码段)

    TimeEnd=GetTickCount();

    TimeUsed=TimeEnd-TimeStart;

     

    范例:(20170718YC

    TimeStart2=GetTickCount();

       .......(代码段)

    TimeEnd2=GetTickCount();

    TimeUsed2=TimeEnd2-TimeStart2;

    CString test2;

    test2.Format( _T("%d"),TimeUsed2);//格式转换。

    MessageBox(test2); //对话框显示TimeUsed2的大小。

    ……………………………………………………………………………………………………………………………………………

    11、问题:C++建立并写入.txt文件的方法

    C++建立并写入.txt文件的方法:

    //(以下一一种建立并写入.txt文件的方法——例程原码。)

    CFile file;

    CString filepath,filename,s;

    filepath=_T("c:\\"); //文件位置

    filename="a.txt";  //文件名

    filename=filepath+filename;  //文件路径

    file.Open(filename,CFile::modeCreate|CFile::modeWrite);//建立文件

    s="Hello Motor!";

    file.Write(s,strlen(s)); //把字符串s写入文件

    file.Close();  //关闭文件

    参考网址:

    http://blog.csdn.net/u012987386/article/details/71088296

    ……………………………………………………………………………………………………………………………………………

    12、问题:C++创建文件夹和子文件夹的方法

    C++创建文件夹和子文件夹的方法:

    http://blog.163.com/kevinlee_2010/blog/static/16982082020116295372304/

    上面网址中,通过测试的两段代码如下(分别对应两种方法)(20170718YC):

    1)、

    char *fileName="C:\\Users\\FalconBot\\Desktop\\point_cloud\\",*tag,path[1000];

    strcpy(path,fileName);

    int a=0;

    for(tag=fileName;*tag;tag++)

    {

       if (*tag=='\\')

       {

        a=strlen(fileName)-strlen(tag);

       }

    }

    path[a]=NULL;

    char filePath[1000];

    sprintf(filePath,"md %s",path);

    system(filePath);

    2)、

    char *fileName="C:\\Users\\FalconBot\\Desktop\\point_cloud\\",*tag;

    for(tag=fileName;*tag;tag++)

    {

       if (*tag=='\\')

       {

        char buf[1000],path[1000];

        strcpy(buf,fileName);

        buf[strlen(fileName)-strlen(tag)+1]=NULL;

        strcpy(path,buf);

        if (access(path,6)==-1)

        {

         mkdir(path);

        }

       }

    }

    ……………………………………………………………………………………………………………………………………………

    13、问题:C++中怎么将CString赋值给char数组

    C++中怎么将CString赋值给char数组:

    参考网址:

    http://blog.csdn.net/bizhu12/article/details/6786356

    上述网址中的推荐方法(已通过测试,20170718YC ):

    2.传给未分配内存的指针.

    CString cstr = "ASDDSD";

    char *ch = cstr.GetBuffer(cstr1.GetLength() + 1);

    cstr.ReleaseBuffer();

    //修改ch指向的值等于修改cstr里面的值.

    //PS:用完ch后,不用delete ch,因为这样会破坏cstr内部空间,容易造成程序崩溃.

    ……………………………………………………………………………………………………………………………………………

    14、问题:C++中怎么将char转化为CString

    参考以下代码:

    char cstr[]="this C++";

    CString str;

    str.Format("%s",cstr);

    ……………………………………………………………………………………………………………………………………………

    15、问题:VS2012中32位和64位之间编译的转换问题

    VS2012中32位和64位之间编译的转换问题:

    报错:error C2440: “static_cast”: 无法从“void (__thiscall CChatDlg::* )(WPARAM,LPARAM)”转换为“LRE

    http://blog.sina.com.cn/s/blog_6f2d29af01011n77.html

    ……………………………………………………………………………………………………………………………………………

    16、问题:Debug Assertion Failed!

    根据调试经验(20170727YC),如果出现上图所示的问题,有可能是工程所在的文件路径有问题(有可能是因为路径过长),将工程复制到桌面上,则有可能避免该问题。

    也有可能是控件的配置问题。(20171124YC)

    →其实这个有可能是你多加了一个你没用到的控件 变量已经添加 但你仅仅删掉了控件 却没有删掉里边的声明(20171205YC)

    ……………………………………………………………………………………………………………………………………………

    17、问题:怎样使得VC++对话框大小不可调

    在对话框的属性里面,Border设为Dialog Frame

    ……………………………………………………………………………………………………………………………………………

    18、问题:怎样使得VC++对话框最大化 / 最小化

    在对话框的属性里面,[Minimize box]设为True:最小化,[maximize box] 设为True:最大化。

    ……………………………………………………………………………………………………………………………………………

    19、问题:Visual Studio MFC中修改STATIC的文本颜色和文本字体等

    参考网址:

    http://blog.csdn.net/qq61394323/article/details/39939239

    调试通过代码(关键部分截取):(20170918YC)

    注意:前面别忘了加事件响应:

    ON_WM_CTLCOLOR()

    ……………………………………………………………………………………………………………………………………………

    20、问题:VC++串口通讯怎么以HEX格式通讯 20170921YC

    参考网址1:

    http://blog.csdn.net/NNNNNNNNNNNNY/article/details/45341983

    (↑实现了ASCII码格式的串口通讯,测试通过 20170921YC)

    参考网址2:

    http://blog.csdn.net/warlice/article/details/7777978

    (↑《串口调试助手源程序及编程详细过程(一)》《串口调试助手源程序及编程详细过程(二)》)

    备注(YC):

    可结合网址1实现基本的串口通讯,并在此基础上借鉴网址2的后半部分《串口调试助手源程序及编程详细过程(二)》实现HEX格式的通讯。20170921YC

    ……………………………………………………………………………………………………………………………………………

    21、问题:VS怎么加快编译速度?

    1.更改项目设置

    • 项目|属性|C/C++|代码生成|启用最小重新生成:Yes(/Gm)
    • 项目|属性|C/C++|常规|调试信息格式:程序数据库(/Zi)
    • 项目|属性|配置属性-链接器-常规-“启用增量链接选择

    2.使用多核编译

    • Properties -> Configuration Properties -> C/C++ -> Geneal -> Multi-processor Compilation -> Yes(/MP)
    • 翻译:(属性 -> 配置属性 -> C/C++ -> 常规 -> 多处理器编译 -> (/MP)

    3.代码层面

    合理的划分模块,减少link的时间外,充分利用多核编译也很重要。

    上述的参考网址:

    http://blog.csdn.net/hyqsong/article/details/50175523

    ……………………………………………………………………………………………………………………………………………

    22、问题:怎样让VS只显示error不显示warning?

    参考网址:
    http://blog.csdn.net/github_35160620/article/details/51864060

    ……………………………………………………………………………………………………………………………………………

    23、std::vector<int>的清空,Vector清空数据与释放内存(.clear与.swap的区别与使用)

    参考网址:

    http://blog.csdn.net/a272846945/article/details/51182144

    ……………………………………………………………………………………………………………………………………………

    24、c++ vector(向量)使用方法详解(顺序访问vector的多种方式)

    参考网址:http://www.jb51.net/article/44231.htm

     

    ……………………………………………………………………………………………………………………………………………

    25、问题:怎样让工控机一上电就自动运行某程序?(20171113YC)

    电脑左下角开始→所有程序→启动(右键)→打开,将要运行的程序exe或快捷方式拖入其中即可。

    (20171113YC)

    →20180529YC:经测试,该方法可行。

    ……………………………………………………………………………………………………………………………………………

    26、问题:基于对话框的MFC怎样不按按钮自动运行该按钮的响应函数?(20171113YC)

    解决方法:将对应函数添加到初始化函数OnInitDialog()中:

    ……………………………………………………………………………………………………………………………………………

    27、问题:MFC鼠标滚轮消息WM_MOUSEWHEEL失灵

    在执行鼠标滚轮滚动之前,确保运行了以下代码:

    GetDlgItem(IDC_RENDER)->SetFocus();//需要把图像控件picture control置为对焦,否则鼠标滚轮事件失灵。(20171121YC

    鼠标滚轮消息似乎只会发给当前获得焦点的窗口,所以当子窗体没有焦点时是收不到滚轮消息的,收到消息的可能是父窗口。

    ……………………………………………………………………………………………………………………………………………

    28、问题:在对话框最小化之后恢复对话框显示,此时怎样执行响应函数

    工程的主对话框的Dlg.cpp中添加如下代码(蓝色选中部分):

    (20171121YC)

    ……………………………………………………………………………………………………………………………………………

    29、问题:怎样获取MFC对话框中某一控件的位置(在对话框中的坐标)

    网上代码:

    CRect rect;

    GetDlgItem(控件ID)->GetWindowRect(&rect);//获取控件的屏幕坐标

    ScreenToClient(&rect);//转换为对话框上的客户坐标

    经过测试的代码:(20171121YC

    CRect size_pic;

           CWnd *pWnd_pic = GetDlgItem(IDC_RENDER);

           //pWnd_pic->GetClientRect(&size_pic);

           pWnd_pic->GetWindowRect(&size_pic);//获取控件的屏幕坐标

           ScreenToClient(&size_pic);//转换为对话框上的客户坐标

           if(size_pic.Width()>size_pic.Height())//如果是宽>高

           {

                  glViewport(0.5*(size_pic.Width()-size_pic.Height()),0,size_pic.Height(),size_pic.Height());//【Picture Control控件中显示图像区域的大小】

           }

           else//如果是高>宽

           {

                  glViewport(0,0.5*(size_pic.Height()-size_pic.Width()),size_pic.Width(),size_pic.Width());//【Picture Control控件中显示图像区域的大小】

           }

           CString test0;

           //test0.Format( _T("中间点X坐标:%d  中间点Y坐标:%d"),size_pic.CenterPoint().x,size_pic.CenterPoint().y);//格式转换。

           test0.Format( _T("左上X坐标:%d  左上Y坐标:%d 右下X坐标:%d  右下Y坐标:%d"),size_pic.TopLeft().x,size_pic.TopLeft().y,size_pic.BottomRight().x,size_pic.BottomRight().y);//格式转换。

           MessageBox(test0);

    更多可参考网址:

    http://blog.csdn.net/wangdong770909027/article/details/47102009

    ……………………………………………………………………………………………………………………………………………

    30、问题:怎样实现MFC对话框最大化时控件也随比例最大化或者还原

    参考网址:

    http://blog.csdn.net/zyw_anquan/article/details/8257722

    推荐里面的方法二

    ……………………………………………………………………………………………………………………………………………

    31、问题:error C2061 语法错误: 标识符“CMy3DLaserApp1Dlg  ……  注意: C++ 不支持默认 int

    参考网址:

    http://blog.csdn.net/u011435712/article/details/41628785

    →网址重点摘录:

    下面贴出解决方案:在DrawLine头文件中先声明一下类:class MonsterSprite;然后在DrawLine.cpp文件中#include “MonsterSprite.h”,(也即在DrawLine头文件中不要包含该头文件。 YC)

    32、问题:怎样实现VS2010生成的.exe在其他电脑运(20171127YC)

    注:经调试,“在静态库中使用MFC”的方法会使程序在编译的时候产生很多错误、难以解决,因此不采用此方法。以下是测试通过的方法(20171127YC):

    不修改“在静态库中使用MFC”等配置(也即使用默认配置),对编译生成的.exe文件,如果想让它在其它电脑上运行,需要:

    ①安装:

    事先需要对要运行.exe的电脑安装“VC6.0”和“微软常用运行库合集”(参考下图)

    ②dll文件:

    和工程相关的dll文件,应该和visualstudio生成的.exe文件在同一目录下。

    (长沙项目程序的相关dll文件已经存储在文件夹“exe文件在其它电脑上运行相关”中。20171127YC)

    →备忘录:

    ①目标电脑最好是WIN7 64位操作系统

    ②控制电机所用的串口号:程序中默认是串口6(COM6),在目标电脑上需要事先将串口号配置/修改成6

    ……………………………………………………………………………………………………………………………………………

    33、问题:vs2010 资源在另一个编辑器中打开 怎么回事?

    ……………………………………………………………………………………………………………………………………………

    34、问题:radio button怎样设置为默认选中?

    参考网址:

    http://blog.csdn.net/arcsinsin/article/details/9338811

    →网址内容如下:

    我们假设有两个RADIO控件:IDC_RADIO_SINGLE和IDC_RADIO_RANGE,我们的目的是默认选种IDC_RADIO_SINGLE控件。

    方法一:

    CheckRadioButton(IDC_RADIO_SINGLE,IDC_RADIO_RANGE,IDC_RADIO_SINGLE);

    方法二:

    将IDC_RADIO_SINGLE设置为有Group属性,IDC_RADIO_RANGE没有;

    CTRL +双击IDC_RADIO_SINGLE按钮,为其添加一个成员变量m_Radio;

    在初始化RADIO时添加如下代码:

    m_Radio=0;

    UpdateData(FALSE);

    方法三:

    CButton* radio=(CButton*)GetDlgItem(IDC_RADIO_SINGLE);

    radio->SetCheck(1);//括号中的数字是该radio控件在几个radio控件中的编号

    还是第三种方法吃香呵。这也是访问控件的常用方法之一。

    经测试方法一可以使用,在OnInitDialog()初始化函数里加入上述代码即可。(20171201YC)

    …………………………………………………………………………………………………………………………………………

    35、问题:文件打开和保存时,路径、文件名的选择

    参考网址:(MFC——文件打开和保存对话框(CFileDialog))

    http://blog.csdn.net/luoweifu/article/details/24672347

    ……………………………………………………………………………………………………………………………………………

    36、问题:在其它电脑上,exe双击之后或程序编译运行之后,程序不运行也无报错。(20171226)

    对于长沙项目的相关程序,通过排查(20171226),这个问题主要是由于主对话框中的屏幕尺寸变化响应函数导致的,也即WM_SIZE和Onsize。去掉屏幕尺寸变化响应,则该问题得以解决。

    究其原因,是由于exe已开始运行的时候,就触发了WM_SIZE,从而导致程序故障。

    ……………………………………………………………………………………………………………………………………………

    37、问题:USB接口无反应

    看设备管理器中的上述是否有感叹号,有的话,对它禁用、再启动。

    ……………………………………………………………………………………………………………………………………………

    38、问题:Visual Assist X插件安装

    参考网址:

    http://blog.csdn.net/to_baidu/article/details/54846962

    ……………………………………………………………………………………………………………………………………………

    39、问题:彻底解决COM端口被占用(在使用中)问题的办法

    参考网址:

    http://blog.csdn.net/yimu13/article/details/6024991

    ……………………………………………………………………………………………………………………………………………

    40、问题:MFC Radio Button 使用 分组 RadioButton 用法

    3.   按CTRL+D,保证同一组内的radio的tab序号是连续的;调整tab序号的方式是:鼠标点击数字,比如先点3,然后点7,则3和7会交换,即radio1变为7,radio5变为3;

    4. 关联int型变量   注意:只需将group属性为true的radio1关联,radio2和radio3无需关联;  同样,radio4需关联,radio5无需关联

    5. 第4步完成后,在窗体头文件中可以看到

    构造函数:

     默认第一个radio被选中,即radio1被选中

    6. 事件处理

    设置radio1的事件

    设置radio2和radio3的点击事件函数 和 radio1 相同

    事件代码:

    注意:updatedata(true) 不能少; 它的作用是 将radio的状态值更新给关联的变量,即m_radiobtngroup1;

    ·以上内容参考自网址:https://blog.csdn.net/c_cyoxi/article/details/23868979

    ……………………………………………………………………………………………………………………………………………

    41、问题:怎样让VC自动关闭弹出的MessageBox对话框

    20180717YC:经测试,可使用如下代码:

    //↓弹出报警对话框,并在片刻之后自动关闭该对话框。

    //所弹出的对话框为模态对话框。

    SetTimer(1, 1500, NULL);//启动定时器,一定时间间隔之后,自动关闭所弹出的对话框。

    int ret = MessageBox("←本次数据采集格式有误,已启用备用解码程序→", "WarningMessageBox", MB_ICONWARNING);

    if (ret == IDYES)

    {

        TRACE("按钮【YES】被按下\n");

    }

    else if(ret == IDNO)

    {

        TRACE("按钮【NO】被按下\n");

    }

    //↑弹出报警对话框,并在片刻之后自动关闭该对话框。

    对应的定时器响应函数:

    case 1:

    {

        KillTimer(nIDEvent); //取消该定时器。此处的ID号应与SetTimer()中的ID号一致

     

        //定时器函数的作用:自动关闭所弹出的对话框。

        HANDLE hWnd = ::FindWindowEx(NULL, NULL, NULL, "WarningMessageBox");

        if (hWnd)

        {

           TRACE("发现了MyMessageBox窗口\n");

           ::EndDialog((HWND)hWnd, IDNO);

        }

    }break;

    参考网址:https://blog.csdn.net/dijkstar/article/details/8761481

    上述代码源于该网址中的“方法二”。

    ……………………………………………………………………………………………………………………………………………

    42、问题:MFC怎样截获界面最大化最小化按钮的处理

    方法:在函数OnSysCommand(UINT nID, LPARAM lParam)中加代码(红色部分是后加的),参考如下:

    void CMy3DLS_UST10LXDlg::OnSysCommand(UINT nID, LPARAM lParam)

    {

        if ((nID & 0xFFF0) == IDM_ABOUTBOX)

        {

           CAboutDlg dlgAbout;

           dlgAbout.DoModal();

        }

        else if(nID==SC_MINIMIZE) //软件界面的最小化

        {

           //在3D点云采集期间,无法最小化/最大化软件界面。

           if(1==flag_CodeRun01) //标志量,控制代码运行与否。=1运行,=0不运行。 激光雷达回传数据期间置为0,其余时间为1

           {

               CDialogEx::OnSysCommand(nID, lParam);

           }

        }

        else if(nID==SC_MAXIMIZE) //软件界面的最大化

        {

           //在3D点云采集期间,无法最小化/最大化软件界面。

           if(1==flag_CodeRun01) //标志量,控制代码运行与否。=1运行,=0不运行。 激光雷达回传数据期间置为0,其余时间为1

           {

               CDialogEx::OnSysCommand(nID, lParam);

           }

        }

        else

        {

           CDialogEx::OnSysCommand(nID, lParam);

        }

    }

    ……………………………………………………………………………………………………………………………………………

    43、问题:使MFC对话框不响应标题栏双击

    参考网址:

    https://blog.csdn.net/eickandy/article/details/48520439

    所采用的是上述网址中的方法二(20180717),重载了三个函数。所编程序中的具体代码(YC):

    Dlg.cpp中的代码:

    /*

    -----功能:使MFC对话框不响应标题栏双击

    -----注意:在CWnd::OnNcLButtonDblClk(nHitTest, point)使用时,不

               能用CMainFrame::OnNcLButtonDblClk(nHitTest, point),

               不然菜单就无法使用了。

    */ 

    void CMy3DLS_UST10LXDlg::OnNcLButtonDblClk( UINT nHitTest, CPoint point ) 

        if(nHitTest == HTCAPTION /*&& g_bTK*/) // 为标题栏的双击 

        return; 

        CWnd::OnNcLButtonDblClk(nHitTest, point); 

    ///* 

    //-----功能:使标题栏的窗体不能被鼠标拖动,固定在当前屏幕中的位置:

    //-----注意:在CWnd::OnNcLButtonDown(nHitTest, point)使用时,不

    //           能用CMainFrame::OnNcLButtonDown(nHitTest, point),

    //           不然菜单就无法使用了。

    //*/ 

    //void CMy3DLS_UST10LXDlg::OnNcLButtonDown(UINT nHitTest, CPoint point) 

    //{ 

    //    if(nHitTest==HTCAPTION /*&& g_bTK*/

    //        return; 

    // 

    //    CWnd::OnNcLButtonDown(nHitTest, point); 

    //} 

     

    /*

    -----功能:屏蔽在标题栏点击鼠标右键事件。

    -----注意:在CWnd::OnNcRButtonDown(nHitTest, point);使用时,不

               能用CMainFrame::OnNcRButtonDown(nHitTest, point),

               不然菜单就无法使用了。

    */ 

    void CMy3DLS_UST10LXDlg::OnNcRButtonDown(UINT nHitTest, CPoint point) 

        if(nHitTest==HTCAPTION /*&& g_bTK*/

        return; 

        CWnd::OnNcRButtonDown(nHitTest, point); 

    }

    Dlg.h中的代码:

    //↓使MFC对话框不响应界面双击等操作

    afx_msg void OnNcLButtonDblClk( UINT nHitTest, CPoint point ); //功能:使MFC对话框不响应标题栏双击  

    //afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point); //功能:使标题栏的窗体不能被鼠标拖动,固定在当前屏幕中的位置

    afx_msg void OnNcRButtonDown(UINT nHitTest, CPoint point); //功能:屏蔽在标题栏点击鼠标右键事件。

    //↑使MFC对话框不响应界面双击等操作

    ……………………………………………………………………………………………………………………………………………

    44、问题:MFC获取系统当前时间

    网址:

    https://www.cnblogs.com/bigbigtree/archive/2011/12/02/2272066.html

    网址内容:

    1.使用CTime类   

    CString str; //获取系统时间   

    CTime tm; tm=CTime::GetCurrentTime();   

    str=tm.Format("现在时间是%Y年%m月%d日 %X");

    MessageBox(str,NULL,MB_OK);

    2: 得到系统时间日期(使用GetLocalTime)  

    SYSTEMTIME st;

    CString strDateTime;

    GetLocalTime(&st);

    strDateTime.Format(_T("%04d%02d%02d_%02d%02d%02d"),st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond);

    MessageBox(_T(strDateTime));

    3.使用GetTickCount//获取程序运行时间  

    long t1=GetTickCount();//程序段开始前取得系统运行时间(ms)   

    Sleep(500); long t2=GetTickCount();//程序段结束后取得系统运行时间(ms)   

    str.Format("time:%dms",t2-t1);//前后之差即 程序运行时间   

    AfxMessageBox(str);//获取系统运行时间   

    long t=GetTickCount();   

    CString str,str1;   

    str1.Format("系统已运行 %d时",t/3600000);   

    str=str1; t%=3600000;   

    str1.Format("%d分",t/60000);   

    str+=str1; t%=60000;   

    str1.Format("%d秒",t/1000);   

    str+=str1; AfxMessageBox(str);

    上述方法2通过了实际测试,可满足功能。

    ……………………………………………………………………………………………………………………………………………

    45、MFC的对话框的密码登录

    参考网址1:

    http://jingyan.baidu.com/article/2fb0ba404a6e5300f2ec5ff3.html

    参考网址2:

    https://zhidao.baidu.com/question/92516133.html

    ……………………………………………………………………………………………………………………………………………

    46、C++中怎样将double转化成字符串

    http://jingyan.baidu.com/article/3f16e003d076602590c10370.html

    ……………………………………………………………………………………………………………………………………………

     

    展开全文
  • 首先使用:cd F:SoftwareData\OpenCV\Study\Calibration_sample...(根据你自己的盘符和目录设置)这样的方式将CMD运行环境转移到需要运行的exe程序所在的目录。注意,cd是转移目录的命令,即:change directory。 ...

        在使用C++和OpenCV标定相机时,用到了OpenCV提供的例程imagelist_creator.cpp。这个源程序的主函数是带参数的,无法直接在Visual Studio的IDE下运行(编译后会闪退),需要在编译得到exe程序后使用win键+R呼出CMD后在命令行界面带参数运行。

        呼出命令行界面后,首先输入:"F:"进入想运行的程序所在的盘符,然后再输入“cd SoftwareData\OpenCV\Study\Calibration_sample...”(根据你自己的盘符和目录设置),将CMD运行环境转移到需要运行的exe程序所在的目录。注意,cd是转移目录的命令,即:change directory。
        在运行含有参数的exe程序时,需要在CMD环境下直接输入可执行程序名称(不含扩展名“.exe”),然后不立刻按回车键运行,而是继续输入空格,然后输入后续的参数,输入结束后再按回车运行。
        这里需要强调的是,带参数的exe程序并不是运行之后输入参数,而是在运行之前就随着执行命令一起输入了参数。

        我目前还没能让带参的cpp程序直接在IDE界面下运行起来(可能也有对应的设置,比如为main函数添加参数之类的),只是在CMD“大黑屏”命令行环境下运行了。

    ——————分割线,下面是吐槽——————

        对于编程初学者而言,最早学到的C语言或C++语言中一定会学到,主程序的开头是main函数。而根据使用的编译环境的不同,这个main函数会有很多不同的长相。

        我最早在本科学习C语言时(那是2010年左右吧),老师推荐使用的是那个经典的TurboC“大蓝屏”的界面,记得当时写的main函数都是"void main(){ }"这种结构。然后因为专业原因就好几年没再用C语言了。

        后来,因为项目关系,为了用OpenCV库,我开始学习了C++,用上了Visual Studio这种集成开发环境(IDE),然后发现教科书上的例程都是“int main() { return 0;}”这种格式了,于是也就跟着改了过来(貌似这个才是正确的写法吧)。

        最近在弄相机内参标定的东西,因为感觉Matlab自带的标定工具"calib_gui"好像不太好用(我在用的还是当年的Matlab2012a,好像还是个破解版,据说新版的各种工具都很好用,懒得装了),因此想试试OpenCV的标定程序。但从OpenCV库里把例程的cpp拿出来看的时候,我作为小白还是懵逼了一下,因为它的main函数里面是带参数的。好吧,我承认我没见过世面,摊手。

        其实,这是因为我们初学者习惯了main函数不带参数的那些练习程序。我们初学者对编程的认识一直都停留在那个IDE界面上,感觉程序好像都是在这个界面上在跑,但其实并不是这样的。程序其实都是在计算机的CPU上跑起来的(大神的程序都是在心中默默运行的)。你完全可以把main看作一个被计算机CPU直接调用的函数,跟我们编写的让main函数调用的子函数没有太大区别。

        我们在IDE界面里随意修改变量值其实只是为了初学者学习编程方便修改程序。但对于一个开发实际工程项目的人来说,他编写的代码最后都是为了生成那个可以直接鼠标双击就能在任何Windows系统的PC机上点开的.exe程序,而不是让用户用IDE打开源代码再修改里面的变量。而且,很多情况下,你肯定只能给用户提供可执行程序而不会给他源代码,因为源代码可以用来做其他二次开发,商业价值太高。

        有时,开发者想提供给用户一个可以根据用户自己喜好修改输入参数的exe程序,这时就需要用到带参数的main函数了。以我这次遇到的imagelist_creator.cpp(OpenCV提供的例程)为例,它的主函数在声明的过程中就会出现

    int main(int ac, char** av)

    这样的声明,然后后面还会有要求输入基本参数的相关帮助。我在IDE里面运行了一下这个.cpp,然后,直接闪退了。。。

        然后,我在项目文件夹里找到对应的exe程序,双击了仍然无法打开,会直接闪退。。。

        然后搜了一些博客,说需要在CMD环境下运行该程序,然后还需要带着参数运行。我又试了半天,最后终于成功运行起来了。具体方法,看本文开头即可。
       

        

    展开全文
  • 比如程序:   program main implicit none write(*,*) "... 虽然可以看见DOS窗口显示AAAAAAAAAAAAAAAAAAAAAAAA,不过是一闪而过,请问怎样解决呢? 解答: stop的上一行加pause。 比如程序...

    比如程序:


       

    program main
        implicit none
        write(*,*) "AAAAAAAAAAAAAAAAAAAAAAAA"   
        stop
        end
    

     虽然可以看见DOS窗口显示AAAAAAAAAAAAAAAAAAAAAAAA,不过是一闪而过,请问怎样解决呢?

    解答:

    stop的上一行加pause。 比如程序:
    
    program main 
    implicit none 
    write(*,*) "AAAAAAAAAAAAAAAAAAAAAAAA" 
    pause
    stop 
    end
    

     

    展开全文
  • 研究了一阵子,发现是程序运行结束就自动关闭了,那么怎样才能让程序运行结束不关闭呢,毕竟我是要观察输出结果的。 这里有几种方法可以实现: 1,在return 0;之前加上getchar(); 2,同上,加上while(1); 3,...
  • 一个工程只能有一个main函数,如果每次都从头新建应用程序,比较繁琐,多个main函数的文件怎样VisualStudio里快速运行起来? 这里是用Visual Studio2015展示。 解决方法: 第一次新建项目时勾选创建解决方案...
  • Visualstudio中使用交互窗口运行Python程序怎样使交互窗口(光标所在处)也能实现自动换行? ![图片说明](https://img-ask.csdn.net/upload/201904/24/1556111465_778250.jpg)
  • visual studio 2012怎样中断或退出正在编译运行程序
  • 本文介绍如何使用 Debug当程序运行时,您可以使用 Debug 类的方法来生成消息,以帮助您监视程序执行顺序、检测故障或提供性能度量信息。默认情况下,Debug 类产生的消息显示在 Visual Studio 集成开发环境 (IDE) 的...
  • 本文介绍如何使用 Debug 当程序运行时,您可以使用 Debug 类的方法来生成消息,以帮助您监视程序执行顺序、检测故障或提供性能度量信息。默认情况下,Debug 类产生的消息显示在 Visual Studio 集成开发环境 ...
  • VC6.0下开发的程序在64位机器上运行

    千次阅读 2012-02-24 14:21:36
    本文一步一步地描述了怎样使用Microsoft Visual Studio IDE创建64位应用程序, 并且,64位的应用程序代码和32位应用程序代码完全一样, 只是编译环境配置有所不同。目前还没有发现有纯64位的IDE应用程序开发环境。笔者...
  • 网上看到的 不知道是那个写的 这篇文章主要是讲述如何将已有的32位程序编译成为64... 本文一步一步地描述了怎样使用Microsoft Visual Studio IDE创建64位应用程序, 并且,64位的应用程序代码和32位应用程序代码完全...
  • 系统:Windows 7 开发环境:Microsoft Visual Studio 2008       1. 新建个空白的windows应用程序,   看看她的图标 是不是很丑啊 我们运行下看看 看看她的图标 以及生成成的exe文件 呵呵 ...
  • .NET Framework给我们提供了良好的开发平台。有很好的类库,可以跨语言,跨平台等等。但是他的内部实现细节是怎样的呢?...然后用Visual Studio 6.0带的工具Depends把它打开。如下图:这里可以看到一个很奇怪的现象,
  • 程序5 Visual Studio风格的列表框 第6章 TREEVIEW控件 程序l 定制的TreeViev控件 程序2 用来显示磁盘文件目录的TreeView控件 程序3 在TreeViev控件之间实现拖放 程序4 带有TreeViey控件的属性页 程序5 IE高级...
  • 怎样Visual C# .NET 中跟踪和调试?当程序运行时,您可以使用 Debug 类的方法来生成消息,以帮助您监视程序执行顺序、检测故障或提供性能度量信息。默认情况下,Debug 类产生的消息显示在 Visual Studio 集成开发...
  • 目录症状问题是怎样解决的 症状 没有什么特殊操作,前一天还正常使用的VS2019今天打开就提示 ...想到Visual Studio Installer,先运行它,报错,无视,继续,选了一个组件,修改。等待修改完成,VS2019正常运行了 ...
  • 1 理解计算机是怎么运行程序的 2 运行一个已解释的程序 3 运行一个已编译的程序 4 C++在哪里 5 理解Visual c++中的程序文件 6 创建源代码文件 7 理解并创建头文件 第二章 结构和语法 8 理解计算机语言 9 理解计算机...
  • 1 理解计算机是怎么运行程序的 2 运行一个已解释的程序 3 运行一个已编译的程序 4 C++在哪里 5 理解Visual c++中的程序文件 6 创建源代码文件 7 理解并创建头文件 第二章 结构和语法 8 理解计算机语言 9 理解计算机...
  • 1 理解计算机是怎么运行程序的 2 运行一个已解释的程序 3 运行一个已编译的程序 4 C++在哪里 5 理解Visual c++中的程序文件 6 创建源代码文件 7 理解并创建头文件 第二章 结构和语法 8 理解计算机语言 9 理解计算机...
  • 1 理解计算机是怎么运行程序的 2 运行一个已解释的程序 3 运行一个已编译的程序 4 C++在哪里 5 理解Visual c++中的程序文件 6 创建源代码文件 7 理解并创建头文件 第二章 结构和语法 8 理解计算机语言 9 理解计算机...
  • noform.zip 没有文档类的MDI怎样让MDI程序不需要文档的支持(33KB)<END><br>98,ROTFONT.zip 用于在窗口中显示任意角度文字的控件(5KB)<END><br>99,TRAYICON.zip 用于在WIN95的状态栏中显示程序运行状态(32...
  • Visual Studio 2013中打开解决方案,进行构建,然后从bin目录中运行AudioSwitcher.exe 。 常问问题 如何隐藏麦克风或拔下的设备? 右键单击通知区域中的“音频切换器”图标,然后展开外观。 在上面的屏幕截图中...
  • 怎样使用C#的try…catch语句

    千次阅读 2018-07-24 15:00:13
    在C#程序运行中,不可避免的会出现很多异常事件,这些异常事件会阻止程序继续运行,给用户体验增加困难。所以我们要尽量避免异常的同时,也要对异常进行处理。这时就需要使用到try-catch语句。 下面介绍try-catch...
  • 代码运行流畅,但需要预装Visual Studio2015以上版本,若是低版本可以自行百度“低VS版本如何打开高VS版本程序”一类的问题,百度有详细的步骤。发布这个程序我也有一个私心,我想实现不用word文档模板(或者说把...

空空如也

空空如也

1 2 3
收藏数 59
精华内容 23
关键字:

studio怎样运行程序visual