Articles of java

Alignement de la structure JNI

J’appelle une DLL compilée avec VisualStudio 2005 avec le paramètre “#pragma pack (1)”. Ainsi, l’alligment de structure (SA) est sans remplissage pour un access rapide aux données [1]. Je pense que la machine virtuelle Java est compilée avec l’alligment de structure normale [2]. Alors je veux savoir quelles sont mes options? L’appel à la dll […]

UnsatisfiedLinkError dans le code JNI

J’essaie de créer un projet JNI simple pour comprendre JNI, mais je rencontre toujours cette erreur: Exception in thread “main” java.lang.UnsatisfiedLinkError: HPAProgram.sayHello() Je n’ai pas encore beaucoup de code, je peux donc en coller la plupart ici. Je lance les commandes suivantes: javac HPAProgram.java javah HPAProgram cc -v -c -fPIC -I/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/ HPAProgram.c++ -o libHPAProgram.o libtool […]

Mémoire OpenCL partagée entre les tâches

J’ai travaillé à la création d’un programme de jeu de vie basé sur GPU. Si vous ne le connaissez pas, voici la page Wikipedia . J’ai créé une version qui fonctionne en conservant un tableau de valeurs où 0 représente une cellule morte et 1 une cellule vivante. Le kernel écrit alors simplement dans un […]

16.66ms frameworks fois. Comment obtenir un parfait 60 ips quand dormir () ne passe que par millisecondes?

J’aime faire de petits jeux en C ++ et en Java, mais quelque chose m’a toujours dérangé et je n’ai jamais vraiment compris comment y remédier. La veille en C ++ et Java ne fonctionne que quelques millisecondes. Ce qui signifie que si vous faites startTime=clock(); ——-Execute everything in that frame—– endTime=clock(); sleep(x-(endTime-startTime)); si x […]

Android NDK – Erreur de construction de Gradle

J’ai compilé avec succès la bibliothèque SoundTouch et copié les fichiers résultants dans le dossier libs mon projet. Dans chacun de ces dossiers, il y a un fichier libsoundtouch.so . Dans le dossier jni mon projet, j’ai les fichiers suivants: Android.mk Application.mk soundtouch-jni.cpp mon Android.mk ressemble à ceci: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # […]

c ++ 11 équivalent de java atomiclongarray

Je travaille sur un port C ++ d’une bibliothèque Java. L’un des problèmes est que je ne parviens pas à trouver un équivalent de AtomicLongArray de Java. Quelqu’un sait s’il existe déjà quelque chose d’équivalent dans c ++ 11 ou comment implémenter des fonctionnalités similaires? J’ai jeté un coup d’œil à C ++ 11 Atomics […]

Pjsip Utiliser la notification d’événement spécifique à Sip pour le message Notify

Je veux implémenter l’événement Notify CallBack dans CsipSimple, voici le code C que j’ai écrit Mes fichiers C / C ++ Le fichier pjsip_event_notification.h #include class EventCallBack { public: virtual ~EventCallBack() {} virtual void on_evsub_state(pjsip_evsub *sub, pjsip_event *event){} virtual void on_tsx_state(pjsip_evsub *sub, pjsip_transaction *tsx, pjsip_event *event){} virtual void on_rx_refresh(pjsip_evsub *sub, pjsip_rx_data *rdata, int p_st_code, pj_str_t […]

Ecrire int dans un tampon binary (Android) et lire avec C ++

Je veux écrire un entier dans un fichier binary avec Java (Android), puis le lire avec un code C ++. Mon code en Java est: byte [] mybuffer = ByteBuffer.allocateDirect(4).putInt(1000).array; out.write(mybuffer, 0, 4); // out is FileOutputStream Le lecteur en C ++ std::ifstream fileToRead; fileToRead.open(“myFile”, std::ios::binary); if (!fileToRead.is_open()){ std::cout << "[ERROR] Can't open file" << […]

Comment comstackr LibGDX à partir des sources?

Je m’efforce de construire LibGDX à partir de sources (avec ANT). J’ai quelques changements mineurs dans le code natif. Je n’ai besoin que d’une compilation pour Android. Théoriquement, j’ai finalement réussi à comstackr mes fichiers C ++, en passant à Ubuntu (sous Windows, ANT n’a même pas essayé de comstackr). J’ai apporté quelques modifications mineures […]

impossible d’allouer une erreur de mémoire sur un Mac OS x – java (xx, xx) malloc: *** mmap (size = XX) a échoué (code d’erreur = 12)

Je crois que c’est un problème général, mais si cela aide, j’utilise la firebase database LucidDB (0.9.4) sur Mac OS X 10.8 avec 16 Go de RAM. Le logiciel de firebase database est écrit principalement en Java avec certaines parties en C ++. Lorsque j’ai augmenté la taille du pool de mémoire tampon à 1 […]