小编Moo*_*lit的帖子

Arduino工具>串口灰色显示

我正在运行Debian 7(Linux Crunchbang),并希望使用Arduino IDE来编程我的Arduino UNO.为此,我安装了包arduino.当我启动Arduino时,我被要求将我的用户添加到该dialout组.所以我做了sudo usermod -a -G dialout <my-username>.

但是,当我arduino在命令行中启动Arduino IDE时,IDE会打开,但我无法将程序加载到Arduino.错误消息是"未找到串行端口COM1.您是否从工具>串行端口菜单中选择了正确的端口?" 当我选择串行端口时,"工具>串行端口"选项显示为灰色.

我以为是因为我没有在我的USB端口(ttyACM0)上授予读写权限.所以我做了,sudo chmod a+rw /dev/ttyACM0但选项仍然是灰色的.

arduino arduino-ide

47
推荐指数
3
解决办法
11万
查看次数

找不到/ usr/local/lib中的库

我正在使用名为ohNet的框架构建应用程序.构建框架后,可以通过安装框架make install.默认情况下,库安装在/usr/local/[lib|include]文件夹中.好.

我正在使用eclipse进行开发.为了使用这个库我必须设置包含路径库(在这种情况下usr/local/include/ohNet),设置链接的搜索路径(-L)( /usr/local/lib/ohNet)和特定的库(-l)(在这种情况下,我选择了一个名为库libohNet.so在这个文件夹.当我在eclipse中构建项目时它工作正常,但是如果我尝试运行该程序,我面临以下消息:

error while loading shared libraries: libohNet.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我已经仔细检查了这个,文件libohNet.so就在这个目录中!是什么原因导致无法找到此文件?

我在google上搜索并发现了一些帖子,说这是安装库/usr/local/lib而不是/usr/lib 看到这里有问题 ...我是否必须配置一些额外的设置eclipse才能ld在此路径中识别库?这是什么解决方案?

问候

c++ eclipse linker build libraries

27
推荐指数
1
解决办法
3万
查看次数

带有可选参数的Groovy Closure

我想定义一个带有一个参数的闭包(我将其引用it)有时我想将另一个参数传递给闭包.我怎样才能做到这一点?

parameters groovy closures arguments optional

22
推荐指数
1
解决办法
1万
查看次数

Butterknife View注射

我偶然发现了一个非常有趣的Dependency Injection库ButterKnife.使用ButterKnife它可以轻松地将视图注入活动或片段.

class ExampleActivity extends Activity {
  @InjectView(R.id.title) TextView title;
  @InjectView(R.id.subtitle) TextView subtitle;
  @InjectView(R.id.footer) TextView footer;

  @Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.simple_activity);
    ButterKnife.inject(this);
    // TODO Use "injected" views...
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果使用依赖注入这些观点必须publicButterknife能注射它(使用private一个异常场的结果fields must not be private or static).

在我过去的项目中,我总是制作所有成员字段(包括视图),private因为我认为这是最佳实践(信息隐藏等)现在我想知道是否有理由不应该制作所有视图public?在这种情况下,我不能使用,ButterKnife但我想使用它,因为它简化了很多代码.

android dependency-injection butterknife

22
推荐指数
1
解决办法
8233
查看次数

我什么时候应该创建一个新分支?

我正在使用git作为版本控制系统的第一次.我正在开始一个新项目,因此要对项目中使用的技术进行一些实验(你好世界的例子......)我想创建类似"游乐场"分支的东西.创建一个新的分支"playground"是常见的还是我应该在master分支中创建一个名为playground的文件夹?

问候

versioning git branch

19
推荐指数
4
解决办法
8791
查看次数

在linux上安装jdk的正确方法是什么?

我正在运行基于debian的Crunchbang linux系统,我想在我的系统上安装Oracle JDK(不是openjdk).

我花了一些时间去谷歌,但我无法找到如何安装(和配置)它的清晰描述.所以这是我的问题:

安装下载的JDK的正确/最佳位置是什么?(大多数人喜欢这样的东西usr/lib/jvm.为什么?

当我安装了jvm(jdk<version>.tar.gz即将文件的内容复制到所选位置时,我必须设置我的系统以引用jdk.

在这里,我可以使用例如:sudo update-alternatives --install "/usr/bin/java" "java" \ "/usr/lib/jvm/jdk<version>/bin/java" 1.我必须做同样的事javac吗?

最后我必须通过添加行来设置JAVA_HOME变量:

JAVA_HOME=/usr/lib/jvm/jdk<version>/
export JAVA_HOME
Run Code Online (Sandbox Code Playgroud)

.bashrc文件.

但问题是:这样每当我升级我的jdk时,我总是需要更新我的选择吗?我怎么解决这个问题?任何人都可以清楚地描述如何以巧妙和正确的方式在Linux系统上安装jdk吗?

谢谢

java linux

14
推荐指数
1
解决办法
3万
查看次数

用scanf读取逗号分隔的输入

我有以下输入:

AG23,VU,Blablublablu,8
IE22,VU,FooBlaFooBlaFoo,3
and so on...
Run Code Online (Sandbox Code Playgroud)

我希望它使用像这样的代码"解析"scanf:

char sem[5];
char type[5];
char title[80];
int value;

while(scanf("%s,%s,%s,%d", sem, type, title, &value) == 4) {
 //do something with the read line values
}
Run Code Online (Sandbox Code Playgroud)

但代码的执行给了我:illegale instruction 你会如何读取这样的逗号分隔文件?

c csv scanf

14
推荐指数
1
解决办法
5万
查看次数

如何在tcp之上构建协议?

我正在搜索很多但我找不到任何资源通过构建自己的协议,使用TCP作为传输层.有什么必要的步骤?协议应该是某种设备的"控制协议".所以我可以向设备发送命令并控制它们并获取信息.

那么如何实现自定义协议呢?是否what可以发送defininig 命令并且how接收器对不同的命令作出反应?假设我正在定义一些自定义命令,xml通过有线/空中发送它们,使用tcp,并在那里有一些逻辑,它们对发送的命令作出反应并回复.这是一种可以实现"协议"的方式吗?这甚至被称为"协议"吗?

亲切的问候.

networking network-programming tcp protocols

13
推荐指数
1
解决办法
9906
查看次数

两种方法之间的锁定使一种方法匮乏

在我的程序中,我有两种方法:

public void methodA() { //gets called very often
   //write something to file
}

public void methodB() {
  //write something to file
}
Run Code Online (Sandbox Code Playgroud)

methodA经常被客户调用,而methodB只是不时调用.但是,我需要确保无论何时客户想要调用methodB它都可以这样做(在可能的当前执行methodA完成之后).我尝试在每个方法中引入一个带锁定对象的同步块,但methodB似乎很饿,因为methodA更频繁地调用.我该如何解决这个问题?

java concurrency file-io synchronization

12
推荐指数
1
解决办法
861
查看次数

重复Stream allMatch()直到true

int testValue;
boolean success = false;

while(success == false) {
 testValue = generateRandomInt();   
 success = mySystem.getHosts().parallelStream().allMatch(predicate(testValue));
}

return testValue;
Run Code Online (Sandbox Code Playgroud)

我正在玩java8流.你有什么建议让上面的代码更优雅/可读?

java java-8

12
推荐指数
2
解决办法
478
查看次数