iostream与iostream.h乱弹琴

#include <iostream.h> 非标准输出流

#include <iostream>    标准输出流

见短eclipse关于使用android ndk时的简单代码。hello.cpp

#include <jni.h>
#include <iostream.h>
#include <string.h>
#include <stdio.h>

using namespace std;

int main() {

	std::string s = "string";

	printf("printf\n");

	std::cout << "cout" << std::endl;

	return 0;
}

Application.mk中,是这么写的

APP_ABI := armeabi
APP_STL := stlport_static

非常幸运的出现了一下错误。

postypes.h:230:16: error: ‘mbstate_t‘ was not declared in this scope ...

...

ios:5:7: error: ‘_STLP_NEW_IO_NAMESPACE‘ has not been declared...

...

如今该怎么解决呢?

#include <iostream.h>          ->      #include <iostream>

APP_STL := stlport_static     ->     APP_STL := gnustl_static


“.h”非标准的。C的标准库函数,无".h"的,须要用命名空间,是C++的。

其他人是不是在所有的差异,实例math。

版权声明:本文博主原创文章。博客,未经同意不得转载。

时间: 2024-10-07 00:16:33

iostream与iostream.h乱弹琴的相关文章

关于命名空间的理解---iostream与iostream.h的区别

C++中为了避免名字定义冲突,特别引入了"名字空间的定义",即namespace.当代码中用<iostream.h>时,输出可直接引用cout<<x;<iostream.h>继承C语言的标准库文件,未引入名字空间定义,所以可直接使用. 当代码中引入<iostream>时(C++标准),输出需要引用std::cout<<x;如果还是按原来的方法就会有错,或者直接添加using namespace std; 实例: code1 #

iostream与iostream.h

iostream与iostream.h 1.iostream是标准的C++库 2.iostream.h是非标准的C++库.如果使用前者,需要搭配using namespace XXX.后者则不需要. include <iostream.h> //非标准输入输出流,没有命名空间的概念 cout<<x; //输出可直接引用 C++中为了避免名字定义冲突,特别引入了"名字空间的定义",即namespace. include <iostream> //标准输

C++ iostream与iostream.h区别

#include <iostream.h>非标准输入输出流 #include <iostream>标准输入输出流 C++中为了避免名字定义冲突,特别引入了"名字空间的定义",即namespace. 当代码中用<iostream.h>时,输出可直接引用cout<<x;//<iostream.h>继承C语言的标准库文件,未引入名字空间定义,所以可直接使用. 当代码中引入<iostream>时,输出需要引用std::co

1.4 iostream与iostream.h的区别

如果用iostream则需要加命名空间: 如果用iostream.h则不需要加命名空间: 示例: #include<iostream> using namespace std; int main(){ cout << "Hello World!"; return 0; } #include<iostream.h> int main(){ cout << "Hello World!"; return 0; }

C++ iostream和iostream.h的区别

#include <iostream.h>非标准输入输出流#include <iostream>标准输入输出流 C++中为了避免名字定义冲突,特别引入了“名字空间的定义”,即namespace.当代码中用<iostream.h>时,输出可直接引用cout<<x;//<iostream.h>继承C语言的标准库文件,未引入名字空间定义,所以可直接使用.当代码中引入<iostream>时,输出需要引用std::cout<<x;如

iostream和iostream.h的区别

#include <iostream> //标准输入输出流 #include <iostream.h> //非标准输入输出流 C++中为了避免名字定义冲突,特别引入了名字空间的定义(namespace),当代码中用<iostream.h>时,是继承了C语言的标准库文件的,没有名字空间,因此不用(也不能)使用std::cout<<x;. 当代码使用<iostream>时,输入输出需要引用std::cout<<x;. 有".h&

iostream与iostream.h的区别

namespace,是指标识符的各种可见范围.C++标准程序库中的所有标识符都被定义于一个名为std的namespace中.和是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两 个文件,打开文件就会发现,里面的代码是不一样的.后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件 不使用后缀.h.因此,当使用时,相当于在c中调用库函数,使

C++ ----&gt;中include &lt;iostream&gt;和include &lt;iostream.h&gt;的区别

简单来说: .h的是标准C的头文件,没有.h的是标准C++的头文件,两种都是头文件. 造成这两种形式不同的原因,是C++的发展历史决定的,刚才正好有别的人也问这个问题,这里我再回答一下(注意vs2008和vs2005对标准C++的支持是一样的): 1.以iostream和stdio.h为例,iostream是C++的库,stdio.h是标准C的库. 2.新的C++标准摒弃了.h形式的头文件,所以在vs2005里面是没有iostream.h的头文件的. 3.在早期的vs版本,比如VC6.0,用的还

#include&lt;iostream&gt;与#include&lt;iostream.h&gt;的区别

                                     转载于祝长洋的BLOG:http://blog.sina.com.cn/s/blog_514b5f600100ayks.html                                      这两者都有什么不同呢?首先,5年前我们就开始反对把.h符号继续用在标准的头文件中.继续使用过时的规则可不是个好的方法.从功能性的角度来讲,包含了一系列模板化的I/O 类,相反地只仅仅是支持字符流.另外,输入输出流的C++标