请问各位大大,如何用cygwin debug?

请问各位大大,如何用cygwin debug?,第1张

log:

-bash-4.1$ ndk-build

Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver

Gdbsetup : libs/armeabi/gdb.setup

Compile++ thumb : hello-jni <= com_example_hellojni_HelloJni.cpp

D:/Tools/android-ndk-r5b/samples/hello-jni/jni/com_example_hellojni_HelloJni.cpp:3:19: error: iostream: No such file or directory

/cygdrive/d/Tools/android-ndk-r5b/build/中宴信core/build-binary.mk:200: recipe for target `/cygdrive/d/Tools/android-ndk-r5b/samples/hello-jni/obj/local/armeabi/objs-debug/hello-jni/com_example_hellojni_HelloJni.o' failed

make: *** [/cygdrive/d/Tools/android-ndk-r5b/samples/hello-jni/obj/local/armeabi/objs-debug/hello-jni/com_example_hellojni_HelloJni.o] Error 1

PS:gcc,g++等其命令都使用.cpp面添祥前加

#include <卖轮jni.h>

#include<iostream>

using namespace std

iostream文件现问题呢

你是初学者吧,没关系,很简单的。

cygwin我没用过,大概是别人给套了个可视化编程界面了。

1.你运行cygwin这个软件,然后“文件/打开/”把你准备好的C源代码加载到这个软件中闷掘。(就好比我们平时用word时,先运行word软件,然后把你的文档加如入并进行编辑。)

2.在软件界面上(一般在:工具栏)找一个功能为“运行”的按纽。

准备知识:

写一个程序一般分以下步骤:

1.编辑(就是把你的源代码写出来,你可以穗罩饥用“记事本”写,当然一般编程工具cygwin也会提供编辑环境)

2.编译+连接(你只要点个按纽就行,这个任务完全由cygwin完成,你不必管它怎么完成这个任务的。

==============================

那么,编译是什么意思呢?

==============

由于你是初学者,我只能用尽可能通俗的话给你解释一下,这种解释是不够准确的。因为计算机本身只认识二进制指令,就是0/1的序猜返列,每个0/1的序列都在计算机设计时,就赋予了一定的含义。比如:设计师可以把0001表示作个加法,用0000表示作个减法。但是如果人们用0/1的序列来表达我们的需求,显然非常麻烦。于是,后来一些科学家就发明了一种近似英语的计算机语言C,很明显如果要让计算机也明白C表达的意思,我们就必须把C翻译成0/1的序列。那么,编译就可以理解为“翻译”。

[打个比方1]这就好比,你是个中国人,你只会说中文,计算机是个美国人,它只会说英语。你要请计算机给你做件事,你可以用中文写好你的要求,然后请个翻译,把你的要求翻译成英语。)

======

调试是什么呢?

=====

调试分两个层面:(沿用上面的比方1)

1.语法层

你用中文表达你的要求时,可能你的用语不够规范,或写了错别字,使得你

请的翻译不理解你的意思,没办法翻译下去。这时,这个翻译就会通知你说:“对不起,你这个字是不是写错了”。于是,你就“调整调整,修改修改,才试一试”(“调试”由此得名),然后才请翻译进行翻译。

2.语意层

由于你的疏忽,你把要求表达错了。举个离谱点的例子:你本意是打算请计算机帮你买张去北京的火车票的,结果你不小心,写成了买张去上海的火车票。出现这个错误,翻译没方法告诉你,只有等计算机把一张上海的车票给你,你才意识到,于是你重新调试,才执行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12359297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存