ZzepishХочу тебя огорчить, по статистике жабные прогеры бегут из рашки) Ибо дворником проще работать и получать больше. Я пока на жабу забил, накачал кучу книг у меня случился разрыв шаблона и жуткий батхерт, 6 часов пытался скормить javac свой govno.java чтобы получить в итоге hello world и только курение стекаоверфлоу спасло. Меня чем бесят многие книги это вот тебе код компиль, а какие конструкции языка существуют, переменные, не нефига, медетирование на гугл вообще меня взбесило. Ну ладно, методом научного тыка я разобрался, гдет нагуглил какие там функции есть и чего делают, вроде чет начал писать, добрался до подключения внешних dllок как нативок и тут меня порвало в клочья и я решил оставить жабье на далекое потом, потому что о нативках знает 1.5 олдфага даже на стеке.
Вот такое там говнецо:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class net_Native */
#ifndef _Included_net_Native
#define _Included_net_Native
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: net_Native
* Method: hello
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_net_Native_hello
(JNIEnv *, jclass);
#ifdef __cplusplus
}
#endif
#endif
#include <iostream>
#include "Native.h"
JNIEXPORT void JNICALL Java_Native_hello(JNIEnv *env, jclass myclass)
{
std::cout << "ass hole" << std::endl;
}
package net.hello;
final class Native {
static
{
System.load(System.getProperty("user.dir") + "\\" + "Native.dll");
}
native public hello();
}
package net.hello;
public class main {
public static void main(String[] args) {
Native.hello();
}
}
И чтоб это говно скомпилить, пришлось ручками настраивать туеву хучу софта, прописывать трололион настроек, билдить хеадеры, эклипсить манифесты хитрые, анты херанты и кароч, папка с конечными настройками весит 100 метров))) чтобы вот эти несколько строк скомпилить)
А да еще нужно точку входа в dll делать особенную со стабом :P ))