原创文章,转载请注明: 转载自慢慢的回味
本文链接地址: Lesson 3 Adding Color
Color adds alot to an OpenGL project. By understanding both flat and smooth coloring, you can greatly enhance the way your OpenGL demos look. 本作品采用知识共享署名 4.0 国际许可协议进行许可。
Continues Learning
原创文章,转载请注明: 转载自慢慢的回味
本文链接地址: Lesson 2 Your First Polygon
Using the source code from the first tutorial, we will now add code to create a Triangle, and a Square on the screen. I know you’re probably thinking to yourself “a triangle and square… oh joy”, but it really is a BIG deal. Just about everything you create in OpenGL will be created out of triangles and squares. If you don’t understand how to create a simple little triangle in Three Dimensional space, you’ll be completely lost down the road. So read through this chapter and learn. 本作品采用知识共享署名 4.0 国际许可协议进行许可。
原创文章,转载请注明: 转载自慢慢的回味
In this tutorial, I will teach you how to set up, and use OpenGL in a Windows environment. The program you create in this tutorial will display an empty OpenGL window, switch the computer into fullscreen or windowed mode, and wait for you to press ESC or close the Window to exit. It doesn’t sound like much, but this program will be the framework for every other tutorial I release in the next while. It’s very important to understand how OpenGL works, what goes into creating an OpenGL Window, and how to write simple easy to understand code. You can download the code at the end of the tutorial, but I definitely recommend you read over the tutorial at least once, before you start programming in OpenGL.本作品采用知识共享署名 4.0 国际许可协议进行许可。
原创文章,转载请注明: 转载自慢慢的回味
本文链接地址: C++调用JVM执行
这是一个从C++调用JVM的使用例子
运行时需要加入环境变量LD_LIBRARY_PATH=/root/openjdk/build/linux-amd64/j2sdk-image/jre/lib/amd64/server
//============================================================================ // Name : JavaCPPJNI.cpp // Author : // Version : // Copyright : Your copyright notice // Description : Hello World in C++, Ansi-style //============================================================================ #include <iostream> #include "jniLegacyLibrary.h" using namespace std; int main() { cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!! JavaVM* myvm = JavaCPP_init(0, 0); if(myvm == NULL){ return -1; } jint version = JNI_OnLoad(myvm, 0); JNIEnv* myenv; myvm->GetEnv((void**) &myenv, JNI_VERSION_1_6); jclass cls = myenv->FindClass("com/telenav/LegacyLibrary$LegacyClass"); jmethodID cid = myenv->GetMethodID(cls, "<init>", "()V"); if (cid == NULL) { return -1; /* exception thrown */ } /* Construct a java.lang.String object */ jobject obj = myenv->NewObject(cls, cid); if (obj == NULL) { return -1; /* exception thrown */ } jmethodID mid = myenv->GetMethodID(cls, "sayHello", "(Ljava/lang/String;)V"); jstring pname = myenv->NewStringUTF("Derek\n"); myenv->CallVoidMethod(obj, mid, pname); Java_com_telenav_LegacyLibrary_00024LegacyClass_sayHello(myenv,obj,pname); return 0; } |
本作品采用知识共享署名 4.0 国际许可协议进行许可。
GDB概述
————
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图 形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功 能。所谓“寸有所长,尺有所短”就是这个道理。
一般来说,GDB主要帮忙你完成下面四个方面的功能:
1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。
2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)
3、当程序被停住时,可以检查此时你的程序中所发生的事。
4、动态的改变你程序的执行环境。
从上面看来,GDB和一般的调试工具没有什么两样,基本上也是完成这些功能,不过在细节上,你会发现GDB这个调试工具的强大,大家可能比较习惯了图形化的调试工具,但有时候,命令行的调试工具却有着图形化工具所不能完成的功能。让我们一一看来。
一个调试示例
——————
源程序:tst.c
1 #include <stdio.h>
2
3 int func(int n)
4 {
5 int sum=0,i;
6 for(i=0; i<n; i++)
7 {
8 sum+=i;
9 }
10 return sum;
11 }
12
13
14 main()
15 {
16 int i;
17 long result = 0;
18 for(i=1; i<=100; i++)
19 {
20 result += i;
21 }
22
23 printf(“result[1-100] = %d /n”, result );
24 printf(“result[1-250] = %d /n”, func(250) );
25 }
编译生成执行文件:(Linux下)
hchen/test> cc -g tst.c -o tst
继续阅读“用GDB调试程序”本作品采用知识共享署名 4.0 国际许可协议进行许可。