我试图在Arduino ide中做一个链表.
代码如下:
typedef struct ll{
struct ll * prev;
unsigned int currTime;
unsigned int stopTime;
struct ll * next;
} TIMING;
TIMING * head;
TIMING * current;
void setup();
void add_new_first(int stopTimer, TIMING * head);
void main() {
init();
setup();
// Code that uses the def
head->prev = NULL;
head->next = NULL;
head->currTime = 0;
head->stopTime = 200;
}
Run Code Online (Sandbox Code Playgroud)
最后还有功能的实际代码.
这个例子给我错误:
service_timer_cpp.cpp:5:34:错误:'TIMING'尚未声明.
当不使用定义的类型作为参数或从函数返回时,它可以正常工作.
这就是我认为它可以在c中完成并且早先为我工作的方式.我不明白为什么它不适用于Arduino环境.
我通过使用getHomography和warpPerspective将图像从前视角更改为出价视图.
它的工作原理是图像扭曲到所需的视角,但裁剪关闭.它将扭曲的图像移动到图像框之外.我假设原因是因为操作导致负坐标.
我已经手动计算了翻译矩阵的计算点,而不是使用任何opencv:s函数来计算,因为棋盘函数未能检测到正确的点.
我想这可以通过对转换矩阵进行其他更改来解决.但那怎么办?另外,有没有办法确保变换后的图像沿x轴居中,然后将y轴调整到所需位置?
现在完成工作的代码段:
cv::Mat image; // image is loaded with the original image
cv::Mat warpPers; // The container for the resulting image
cv::Mat H;
std::vector<cv::Point2f> src;
std::vector<cv::Point2f> dst;
// In reality several more points.
src.push_back(cv::Point2f(264,301));
src.push_back(cv::Point2f(434,301));
src.push_back(cv::Point2f(243,356));
src.push_back(cv::Point2f(476,356));
dst.push_back(cv::Point2f(243,123));
dst.push_back(cv::Point2f(476,123));
dst.push_back(cv::Point2f(243,356));
dst.push_back(cv::Point2f(476,356));
H = cv::findHomography(src, dst, CV_RANSAC);
cv::warpPerspective(image,
newPers,
H,
cv::Size(3000,3000),
cv::INTER_NEAREST | CV_WARP_FILL_OUTLIERS
);
cv::namedWindow("Warped persp", cv::WINDOW_AUTOSIZE );
cv::imshow( "Warped persp", newPers);
Run Code Online (Sandbox Code Playgroud) 我有一个项目,我想更改为使用Maven包含OSMDroid的库而不是本地依赖项.根据OSM Droid教程,我需要包含以下依赖项:
dependencies {
compile 'org.osmdroid:osmdroid-android:4.2'
compile 'org.slf4j:slf4j-simple:1.6.1'
}
Run Code Online (Sandbox Code Playgroud)
从这个SO帖子我需要添加一行,以便能够通过gradle使用Maven:
repositories {
mavenCentral()
}
Run Code Online (Sandbox Code Playgroud)
这使我的Module:app的基本build.gradle成为:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "se.einarsundgren.anApp"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'org.osmdroid:osmdroid-android:4.2'
compile 'org.slf4j:slf4j-simple:1.6.1'
}
Run Code Online (Sandbox Code Playgroud)
这会导致Gradle同步出错:
Error:(29, 13) Failed to resolve: org.slf4j:slf4j-simple:1.6.1
Error:(28, 13) …Run Code Online (Sandbox Code Playgroud) 尝试使用以下代码中的属性权重在JS中创建一个类:
function Foo() {
var weight = 10;
console.log(weight);
}
Run Code Online (Sandbox Code Playgroud)
当我实例化它时var bar = new Foo();,10会记录到控制台.
当我稍后调用时console.log(bar.weight);,undefined会记录到控制台.这是为什么?我的印象是,JS类中声明的属性默认是公共的?
我正在开发一个 WordPress 项目,我想在我的自定义帖子上添加批量操作。
我已经使用Custom Post TypeUI 插件进行自定义帖子和Advanced Custom Fields用于自定义字段的插件。
请建议我任何代码或插件来为我的自定义帖子添加批量操作。
谢谢,阿尼凯特。
我有一个抽象方法的抽象类
public abstract class Foo{
public int bar();
}
Run Code Online (Sandbox Code Playgroud)
这是由普通类使用某些方法继承和实现的.
public class ConcreteFoo1 extends AbstractFoo{
public void bar(){
method1();
method2();
closingMethod();
return 1;
Run Code Online (Sandbox Code Playgroud)
}}
public class ConcreteFoo2 extends AbstractFoo{
public void bar(){
method3();
method4();
closingMethod();
return 2;
Run Code Online (Sandbox Code Playgroud)
}}
正如你所看到的那样,两个类都结束了closingMethod();.结束bar()使用相同行的已实现方法对我所使用的框架至关重要.有没有办法通过父类强制执行.缺少更好的单词使其成为"半抽象",其中前n行在子类中定义,而结束行由父类定义.理想情况下,我想重载return语句或实现"方法析构函数".
有没有办法实现这个目标?
我刚刚更新了Android Studio以构建130.729444,我的项目(在更新之前正确构建)已停止工作,Android Studio向我显示以下错误:
Internal error: (java.lang.AssertionError) Unexpected node Android Packaging; nodes=[Module 'MyApplication' production, Module 'MyApplicationProject' production, Module 'MyApplication' tests, Module 'MyApplicationProject' tests, Resources for 'MyApplication' production, Resources for 'MyApplicationProject' production, Resources for 'MyApplication' tests, Resources for 'MyApplicationProject' tests, Artifact 'MyApplication', Android Gradle Build Target]
java.lang.AssertionError: Unexpected node Android Packaging; nodes=[Module 'MyApplication' production, Module 'MyApplicationProject' production, Module 'MyApplication' tests, Module 'MyApplicationProject' tests, Resources for 'MyApplication' production, Resources for 'MyApplicationProject' production, Resources for 'MyApplication' tests, Resources for 'MyApplicationProject' tests, Artifact 'MyApplication', Android …Run Code Online (Sandbox Code Playgroud) 每次我尝试在模拟器上部署应用程序进行调试时,都需要几分钟时间.我已经安装了HAX,这使得每个实例的启动和执行速度更快.我没有优化我的计算机以任何其他方式运行模拟器.部署仍然非常缓慢.
有什么措施可以加快速度吗?目前的操作系统是Win8和Ubuntu 13.4
我不想强调,问题是如何在已经运行的仿真器实例上加速部署.模拟器本身的启动有时比应用程序的实际部署更快.
我已经咨询了一些关于加速应用程序执行和模拟器启动的线程,但没有特别关注部署.
我在JS方面不是很有经验.但是,作为大多数人,我有时需要在浏览器中添加一些额外的功能.
在寻找其他问题的答案时,我在SO处找到了这个答案.答案和响应者都受到高度评价,按照SO标准,这意味着它们非常可靠.引起我注意的是,在"neatened up"变体中,它使用尾递归来循环函数:
(function myLoop (i) {
setTimeout(function () {
alert('hello'); // your code here
if (--i) myLoop(i); // decrement i and call myLoop again if i > 0
}, 3000)
})(10);
Run Code Online (Sandbox Code Playgroud)
从我的角度看,这看起来像糟糕的工程.使用递归来解决命令式/ OO语言中的非递归问题就是要求麻烦.十次或100次迭代应该是安全的.但是10000或无限循环呢?在像Erlang和Haskell这样的纯函数式语言中,我知道尾递归在编译期间被转换为循环,并且不会向堆栈添加额外的帧.据我所知,对于例如C/C++或Java的所有编译器而言,情况并非如此.
JS怎么样?在没有SO风险的情况下使用尾递归是否安全?或者这取决于脚本运行的实际解释器?
如果C中的并集用于将变量打包到字节数组中,如下所述:
typedef union
{
uint16_t integer;
byte binary[4];
} binaryInteger;
Run Code Online (Sandbox Code Playgroud)
什么时候进行实际联合?是否将变量分配给union的任何部分.或者是在访问该部分时?
是否可以在不导致联合执行的情况下以任何方式访问当前或以前的分配(取决于执行的时间)?
因此分配零字节的定义不明确,因此我想将0字节视为失败。这段代码能解决问题吗
#include <stdio.h>
#incude "xmalloc.h"
void *malloc_or exit(size_t nbytes, const char *file, int line){
void *x; //declarea void pointer
if ((x = malloc(nbytes)) == NULL){
fprintf(stderr. " %s: line %d: malloc(%zu) bytes failed", file , line, nbytes);
exit(EXIT_FAILURE);
} else
return x;
}
Run Code Online (Sandbox Code Playgroud)