随笔分类 - C&C++
摘要:: 对于在应用程序中加入参数进行调试的方法: 直接用 gdb app -p1 -p2 这样进行调试是不行的。 需要像以下这样使用: #gdb app (gdb) r -p1 -p2 或者在运行run命令前使用set args命令: (gdb) set args p1 p2 可以用show args 命令来查看2. 加入断点: break break break +offset break -offset (在当前行号的前面或后面的offset行停住。) break filename:linenum 在源文件filename的linenum行处停住。 break filename:funct..
阅读全文
posted @ 2014-04-09 23:04
坏混混
摘要:栈: 在函数调用时,第一个进栈的是主函数中函数调用后的下一条指令(函数调用语句的下一条可执行语句)的地址,然后是函数的各个参数,在大多数的C编译器中,参数是由右往左入栈的,然后是函数中的局部变量。注意静态变量是不入栈的。 当本次函数调用结束后,局部变量先出栈,然后是参数,最后栈顶指针指向最开始存的地址,也就是主函数中的下一条指令,程序由该点继续运行。 当发生函数调用的时候,栈空间中存放的数据是这样的:1、调用者函数把被调函数所需要的参数按照与被调函数的形参顺序相反的顺序压入栈中,即:从右向左依次把被调函数所需要的参数压入栈;2、调用者函数使用call指令调用被调函数,并把cal...
阅读全文
摘要:GCC编译器 GCC是一个用于linux系统下编程的编译器。对于linux嵌入式系统开发来说是一种最普遍的工具。 gcc除了编译程序的功能外,还含其他相关工具。它能把易于使用的高级语言编写的源代码构建成能在计算机直接执行的二进制代码。在linux下最常用的是用于编译程序。 GCC支持的体系机构有40余种,常见的有x86系列、ARM、Power PC等,同时还能运行在不同的操作系统上,如Linux、Solaris、Windows等。 GCC除了支持C语言外,还支持多种其他语言,如C++、Ada、Java、Objective-C、FORTRAN、Pascal等。1.gcc使用语法: GCC 【o.
阅读全文
posted @ 2013-07-12 14:52
坏混混
摘要:一般我们开发windows下的程序都是使用VC,VS这样的可视集成化的IDE,但是有很多开源软件例如mplayer,vlc等为了保持程序的跨平台性,通常都会选择使用GUN标准进行开发,linux环境下GUU编译工具一般都是gcc,g++等。而到了windows平台上,我们也可以选择Cygwin或者Msys+MingW等编译器进行开发。下面是特酷吧在学习中整理的资料。CygwinCygwin是一些自由软件的集合,所谓的Cygwin的官方解释是:GUN + Cygnus + windows = cygwin。Cygnus最初的时候是把gcc,gdb等这些linux平台下的编译调试等工具进行改造,使
阅读全文
摘要:用vim编写源代码,用gcc编译连结程序几乎已成为LINUX下程序设计的标准开发模式了,(当然emacs也是非常出色和流行的),本文教你如何在Windows下做到同样的事情。gcc和vim都有支持不同平台的版本,win32也当然不例外。此外,配合不同的库像WINAPI、GTK+等可开发出GUI程序。安装GCC gcc的官方主页(http://gcc.gnu.org)上好像有for win32的版本,但MinGW、CYGWin、Dev-C++、DJGPP等都集成了GCC win32版,以下以MinGW(Minimalist GNU For Windows)为例:到Sourceforge(htt.
阅读全文

浙公网安备 33010602011771号