Český telekomunikační úřad vydal zprávy o vývoji cen a trhu elektronických komunikací se zaměřením na rok 2024. Jaká jsou hlavní zjištění? V roce 2024 bylo v ČR v rámci služeb přístupu k internetu v pevném místě přeneseno v průměru téměř 366 GB dat na jednu aktivní přípojku měsíčně – celkově jich tak uživateli bylo přeneseno přes 18 EB (Exabyte). Nejvyužívanějším způsobem přístupu k internetu v pevném místě zůstal v roce 2024 bezdrátový
… více »Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-10-01. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Jedná o první verzi postavenou na Debianu 13 Trixie.
Byla vydána nová verze 4.6 svobodného notačního programu MuseScore Studio (Wikipedie). Představení novinek v oznámení v diskusním fóru a také na YouTube.
Společnost DuckDuckGo stojící za stejnojmenným vyhledávačem věnovala 1,1 milionu dolarů (stejně jako loni) na podporu digitálních práv, online soukromí a lepšího internetového ekosystému. Rozdělila je mezi 29 organizací a projektů. Za 15 let rozdala 8 050 000 dolarů.
Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.17. Díky 278 přispěvatelům.
Bylo vydáno openSUSE Leap 16 (cs). Ve výchozím nastavení přichází s vypnutou 32bitovou (ia32) podporou. Uživatelům však poskytuje možnost ji ručně povolit a užívat si tak hraní her ve Steamu, který stále závisí na 32bitových knihovnách. Změnily se požadavky na hardware. Leap 16 nyní vyžaduje jako minimální úroveň architektury procesoru x86-64-v2, což obecně znamená procesory zakoupené v roce 2008 nebo později. Uživatelé se starším hardwarem mohou migrovat na Slowroll nebo Tumbleweed.
Ministerstvo průmyslu a obchodu (MPO) ve spolupráci s Národní rozvojovou investiční (NRI) připravuje nový investiční nástroj zaměřený na podporu špičkových technologií – DeepTech fond. Jeho cílem je posílit inovační ekosystém české ekonomiky, rozvíjet projekty s vysokou přidanou hodnotou, podpořit vznik nových technologických lídrů a postupně zařadit Českou republiku mezi země s nejvyspělejší technologickou základnou.
… více »Radicle byl vydán ve verzi 1.5.0 s kódovým jménem Hibiscus. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.
Společnost OpenAI představila text-to-video AI model Sora 2 pro generování realistických videí z textového popisu. Přesnější, realističtější a lépe ovladatelný než předchozí modely. Nabízí také synchronizované dialogy a zvukové efekty.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.0, tj. první stabilní vydání založené na Ubuntu 24.04 LTS.
Dobrý den,
pokouším se přehrát video v mé java aplikaci pomocí mplayeru. Proto, abych byl schopen získat wid komponenty pro mplayer používám jni. Tento postup jsem vygooglil.
Vytvořil jsem si ExtendedCavas.java:
<code>
package jmediacenter.extendedCanvas;
public class ExtendedCanvas extends java.awt.Canvas
{
private static final long serialVersionUID = 1L;
public native int getNativeWindow();
static
{
try
{
System.loadLibrary("ExtendedCanvas");
}
catch (Throwable e)
{
e.printStackTrace();
System.exit(1);
}
}
}
</code>
Zkompiloval a pomocí javah vytvořil hlavičkový soubor: javah -jni jmediacenter.extendedCanvas.ExtendedCanvas.
Toto je vygooglený kód pro nativní metodu: jmediacenter_extendedCanvas_ExtendedCanvas.c:
<code>
#include <jni.h>
#include <jawt.h>
#include <jawt_md.h>
#include <assert.h>
#ifdef WIN32
#include <windows.h>
#endif
#include "jmediacenter_extendedCanvas_ExtendedCanvas.h"
JNIEXPORT jint JNICALL Java_jmediacenter_extendedCanvas_ExtendedCanvas_getNativeWindow
(JNIEnv *env, jobject obj_this)
{
jboolean result;
jint lock;
JAWT awt;
JAWT_DrawingSurface* ds;
JAWT_DrawingSurfaceInfo* dsi;
#ifdef WIN32
JAWT_Win32DrawingSurfaceInfo* dsi_win;
HWND hWnd;
#else
JAWT_X11DrawingSurfaceInfo* dsi_x11;
#endif
/* Get the AWT */
awt.version = JAWT_VERSION_1_3;
result = JAWT_GetAWT(env, &awt);
if(result == JNI_FALSE) return -1;
/* Get the drawing surface */
if ((ds = awt.GetDrawingSurface(env, obj_this)) == NULL)
return 0L;
/* Lock the drawing surface */
lock = ds->Lock(ds);
if((lock & JAWT_LOCK_ERROR) ) {
return -1;
}
/* Get the drawing surface info */
dsi = ds->GetDrawingSurfaceInfo(ds);
/* Get the platform-specific drawing info */
#ifdef WIN32
dsi_win = (JAWT_Win32DrawingSurfaceInfo*)dsi->platformInfo;
//hdc= dsi_win->hdc;
hWnd = dsi_win->hwnd;
return ((jlong)hWnd);
#else
dsi_x11 = (JAWT_X11DrawingSurfaceInfo*)dsi->platformInfo;
int id = dsi_x11->drawable;
ds->Unlock(ds);
return id;
#endif
}
</code>
Z tohoto jsem si vytvořil knihovnu:
gcc -shared -I/usr/java/jdk1.6.0_06/include -I/usr/java/jdk1.6.0_06/include/linux -o libExtendedCanvas.so jmediacenter_extendedCanvas_ExtendedCanvas.c
Cestu ke knihovně mám vloženou do -Djava.library.path. Cesty k ostatním knihovnám z .../jre/lib/i386 jsem přidal do dl.so.conf a použil dlconfig.
Když potom spustím mojí aplikaci dostanu následující error:
java.lang.UnsatisfiedLinkError: .../libExtendedCanvas.so: .../libExtendedCanvas.so: undefined symbol: JAWT_GetAWT
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at jmediacenter.extendedCanvas.ExtendedCanvas.<clinit>(ExtendedCanvas.java:29)
ldd libExtendedCanvas.so hlásí toto:
linux-gate.so.1 => (0xffffe000)
libc.so.6 => /lib/i686/libc.so.6 (0xb7dab000)
/lib/ld-linux.so.2 (0x80000000)
Toto mě ale zaráží, protože předpokládám, že tato knihovna bude potřebovat min. libjawt.so ale jak je vidět nepotřebuje. Zde bude asi probém. Nevím si s tím rady.
Díky za každou radu.
Toto mě ale zaráží, protože předpokládám, že tato knihovna bude potřebovat min. libjawt.so ale jak je vidět nepotřebuje.Ale potřebuje, jen jste linkeru neřekl, že se má knihovna s libjawt.so linkovat (
-ljawt
?).
Problém vyřešen.
Stačilo při kompilaci knihovny přilinkovat knihovnu libjawt.so:
gcc -shared -I/usr/java/jdk1.6.0_06/include -I/usr/java/jdk1.6.0_06/include/linux -o libExtendedCanvas.so jmediacenter_extendedCanvas_ExtendedCanvas.c -L/usr/java/jdk1.6.0_06/jre/lib/i386 -ljawt
Tiskni
Sdílej: