本文整理了Java中org.bytedeco.javacpp.Loader
类的一些代码示例,展示了Loader
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Loader
类的具体详情如下:
包路径:org.bytedeco.javacpp.Loader
类名称:Loader
[英]The Loader contains functionality to load native libraries, but also has a bit of everything that does not fit anywhere else. In addition to its library loading features, it also has utility methods to get the platform name, to load properties from Java resources and from Class annotations, to extract file resources to the temporary directory, and to get the offsetof() or sizeof() a native struct, class, or union with its Pointer peer class and a HashMap initialized by the native libraries inside JNI_OnLoad().
[中]加载程序包含加载本机库的功能,但也有一些其他地方不适合的东西。除了库加载功能外,它还具有实用程序方法,用于获取平台名称、从Java资源和类注释加载属性、将文件资源提取到临时目录,以及获取本机结构、类的offsetof()或sizeof(),或与其指针对等类和由JNI_OnLoad()内的本机库初始化的哈希映射进行联合。
代码示例来源:origin: bytedeco/javacpp
/** Returns {@code load(getCallerClass(2), loadProperties(), Loader.pathsFirst)}. */
public static String load() {
return load(getCallerClass(2), loadProperties(), Loader.pathsFirst);
}
/**
代码示例来源:origin: bytedeco/javacpp
if (!isLoadLibraries() || cls == null) {
return null;
if (!checkPlatform(cls, properties)) {
throw new UnsatisfiedLinkError("Platform \"" + properties.getProperty("platform") + "\" not supported by " + cls);
cls = getEnclosingClass(cls);
ClassProperties p = loadProperties(cls, properties, true);
cacheDir = getCacheDir().getCanonicalPath();
} catch (IOException e) {
for (String preload : preloads) {
try {
URL[] urls = findLibrary(cls, p, preload, pathsFirst);
String filename = loadLibrary(urls, preload);
if (filename != null) {
preloaded.add(filename);
createLibraryLink(filename, p, preload);
URL[] urls = findLibrary(cls, p, library, pathsFirst);
String filename = loadLibrary(urls, library, preloaded.toArray(new String[preloaded.size()]));
if (cacheDir != null && filename != null && filename.startsWith(cacheDir)) {
createLibraryLink(filename, p, library);
代码示例来源:origin: bytedeco/javacpp
/**
* Extracts a resource using the {@link ClassLoader} of the caller class,
* and returns the cached {@link File}.
*
* @param name the name of the resource passed to {@link Class#getResource(String)}
* @see #cacheResource(Class, String)
*/
public static File cacheResource(String name) throws IOException {
Class cls = getCallerClass(2);
return cacheResource(cls, name);
}
/**
代码示例来源:origin: bytedeco/javacpp
/**
* Extracts by name a resource using the {@link ClassLoader} of the caller.
*
* @param name the name of the resource passed to {@link Class#getResource(String)}
* @see #extractResource(URL, File, String, String)
*/
public static File extractResource(String name, File directory,
String prefix, String suffix) throws IOException {
Class cls = getCallerClass(2);
return extractResource(cls, name, directory, prefix, suffix);
}
/**
代码示例来源:origin: org.nd4j/nd4j-cuda-10.0
@Name("std::vector<std::vector<int> >") public static class IntVectorVector extends Pointer {
static { Loader.load(); }
代码示例来源:origin: stackoverflow.com
public void clientCode(Loader loader) {
try{
string s = loader.load();
catch (NotFoundException ex){
// handle it
}
}
代码示例来源:origin: org.bytedeco/javacv
public static void tryLoad() throws Exception {
if (loadingException != null) {
throw loadingException;
} else {
try {
Loader.load(org.bytedeco.javacpp.avutil.class);
Loader.load(org.bytedeco.javacpp.swresample.class);
Loader.load(org.bytedeco.javacpp.avcodec.class);
Loader.load(org.bytedeco.javacpp.avformat.class);
Loader.load(org.bytedeco.javacpp.swscale.class);
/* initialize libavcodec, and register all codecs and formats */
av_jni_set_java_vm(Loader.getJavaVM(), null);
avcodec_register_all();
av_register_all();
avformat_network_init();
Loader.load(org.bytedeco.javacpp.avdevice.class);
avdevice_register_all();
} catch (Throwable t) {
if (t instanceof Exception) {
throw loadingException = (Exception)t;
} else {
throw loadingException = new Exception("Failed to load " + FFmpegFrameRecorder.class, t);
}
}
}
}
代码示例来源:origin: bytedeco/javacpp
/** Returns {@code load(cls, loadProperties(), Loader.pathsFirst)}. */
public static String load(Class cls) {
return load(cls, loadProperties(), Loader.pathsFirst);
}
/**
代码示例来源:origin: bytedeco/javacpp
boolean match = platform.extension().length == 0 || (Loader.isLoadLibraries() && platformExtension == null);
for (String s : platform.extension()) {
if (platformExtension != null && platformExtension.length() > 0 && platformExtension.endsWith(s)) {
代码示例来源:origin: bytedeco/javacpp
String[] resources = properties.get("platform.preloadresource").toArray(new String[0]);
String libpath = System.getProperty("java.library.path", "");
if (libpath.length() > 0 && (pathsFirst || !isLoadLibraries() || reference)) {
+ (extension == null ? "" : extension) + "/";
try {
URL u = findResource(cls, subdir + styles[i]);
if (u != null) {
if (reference) {
代码示例来源:origin: bytedeco/javacpp
if (!isLoadLibraries()) {
return null;
} catch (Exception exc) {
File f = cacheResource(url, filename);
try {
if (f != null) {
代码示例来源:origin: bytedeco/javacpp
public void load(Class cls, boolean inherit) {
Class<?> c = Loader.getEnclosingClass(cls);
List<Class> classList = new ArrayList<Class>();
classList.add(0, c);
boolean match = p.extension().length == 0 || (Loader.isLoadLibraries() && platformExtension == null);
for (String s : p.extension()) {
if (platformExtension != null && platformExtension.length() > 0 && platformExtension.endsWith(s)) {
代码示例来源:origin: org.sikuli/sikuli-core
static public List<CvRect> detectBlobs(IplImage input){
IplImage clone = input.clone();
CvMemStorage storage = CvMemStorage.create();
CvSeq contour = new CvSeq(null);
cvFindContours(clone, storage, contour, Loader.sizeof(CvContour.class),
CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);
//vlog(crossMask);
List<CvRect> rects = Lists.newArrayList();
while (contour != null && !contour.isNull()) {
if (contour.elem_size() > 0) {
CvRect boundingRect = cvBoundingRect(contour,0);
rects.add(boundingRect);
}
contour = contour.h_next();
}
return rects;
}
代码示例来源:origin: bytedeco/javacpp
/**
* Extracts resources using the {@link ClassLoader} of the caller class,
* and returns the cached {@link File} objects.
*
* @param name of the resources passed to {@link #findResources(Class, String)}
* @see #cacheResources(Class, String)
*/
public static File[] cacheResources(String name) throws IOException {
Class cls = getCallerClass(2);
return cacheResources(cls, name);
}
/**
代码示例来源:origin: bytedeco/javacpp
/**
* Extracts by name resources using the {@link ClassLoader} of the caller.
*
* @param name of the resources passed to {@link #findResources(Class, String)}
* @see #extractResources(Class, String, File, String, String)
*/
public static File[] extractResources(String name, File directory,
String prefix, String suffix) throws IOException {
Class cls = getCallerClass(2);
return extractResources(cls, name, directory, prefix, suffix);
}
/**
代码示例来源:origin: org.bytedeco/javacv
public CLKernel buildKernel(String resourceNames, String kernelName) {
return buildKernels(fastCompilerOptions, Loader.getCallerClass(2), resourceNames, kernelName)[0];
}
public CLKernel buildKernel(String compilerOptions, String resourceNames, String kernelName) {
代码示例来源:origin: org.nd4j/nd4j-cuda-10.0
@Name("std::vector<std::vector<Nd4jLong> >") public static class LongVectorVector extends Pointer {
static { Loader.load(); }
代码示例来源:origin: com.github.hageldave.ezfftw/ezfftw
/**
* Loads the native fftw3 library.
* This method has to be called before using any of the bindings to fftw or cpp
* (i.e. {@link DoublePointer} or {@link fftw_plan} and the like).
*/
public static void initFFTW(){
if(!setupDone){
synchronized (FFTW_Initializer.class) {
if(!setupDone){
String loadedlib = Loader.load(fftw3.class);
setupDone = true;
System.out.format("Loaded FFTW library [%s]%n",loadedlib);
}
}
}
}
代码示例来源:origin: org.bytedeco/javacv
public static void tryLoad() throws Exception {
if (loadingException != null) {
throw loadingException;
} else {
try {
Loader.load(org.bytedeco.javacpp.avutil.class);
Loader.load(org.bytedeco.javacpp.swresample.class);
Loader.load(org.bytedeco.javacpp.avcodec.class);
Loader.load(org.bytedeco.javacpp.avformat.class);
Loader.load(org.bytedeco.javacpp.swscale.class);
// Register all formats and codecs
av_jni_set_java_vm(Loader.getJavaVM(), null);
avcodec_register_all();
av_register_all();
avformat_network_init();
Loader.load(org.bytedeco.javacpp.avdevice.class);
avdevice_register_all();
} catch (Throwable t) {
if (t instanceof Exception) {
throw loadingException = (Exception)t;
} else {
throw loadingException = new Exception("Failed to load " + FFmpegFrameGrabber.class, t);
}
}
}
}
代码示例来源:origin: org.bytedeco.javacpp-presets/tensorrt
@Override public void init(ClassProperties properties) {
String platform = properties.getProperty("platform");
List<String> preloads = properties.get("platform.preload");
// Only apply this at load time since we don't want to copy the CUDA libraries here
if (!Loader.isLoadLibraries() || !platform.equals("linux-x86_64")) {
return;
}
int i = 0;
String[] libs = {"cudart", "cublas", "cudnn"};
for (String lib : libs) {
lib += lib.equals("cudnn") ? "@.7" : "@.10.0";
if (!preloads.contains(lib)) {
preloads.add(i++, lib);
}
}
}
内容来源于网络,如有侵权,请联系作者删除!