小编m-r*_*ric的帖子

如何来回反向搜索?

reverse-i-search经常使用,这很酷.有时候,当多次按CTRL+ 时r,我会传递我实际需要的命令.因为CTRL+ r在历史中向后搜索,从最新到最旧,我必须:

  1. 取消,
  2. 再次搜索和
  3. 完全停在命令,没有通过它.

虽然在reverse-i-search提示中,是否有可能向前搜索,即从我站到最新的位置.我天真地尝试了CTRL+ Shift+ r,没有运气.我听说过CTRL+ g但这不是我在这里所期待的.有人有想法吗?

linux bash shell search

117
推荐指数
3
解决办法
8万
查看次数

Tensorflow密集梯度解释?

我最近实现了一个模型,当我运行它时,我收到了这个警告:

UserWarning: Converting sparse IndexedSlices to a dense Tensor of unknown shape. 
This may consume a large amount of memory.
"Converting sparse IndexedSlices to a dense Tensor of unknown shape. "
Run Code Online (Sandbox Code Playgroud)

随着一些类似的参数设置(嵌入维度)突然,模型是非常慢的.

  1. 这个警告意味着什么?似乎我所做的事情已经导致所有渐变都很密集,因此backprop正在进行密集矩阵计算
  2. 如果导致此问题的模型存在问题,我该如何识别并修复它?

tensorflow

55
推荐指数
3
解决办法
2万
查看次数

如何在bash中简单地计算两个变量的最小值?

我有一个bash脚本检查平台上的CPU数量,以有效地使用-jmake,repo等选项.我使用这个:

JOBS=$(cat /proc/cpuinfo | grep processor | tail -1 | sed "s,^.*:.*\([0-9].*\)$,\1,")
echo -e "4\n$JOBS" | sort -r | tail -1
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是,我想知道是否有任何内置函数执行相同的操作(即计算最小值或最大值)?

bash logical-operators

46
推荐指数
2
解决办法
3万
查看次数

如何从活动中更改片段的textView文本

我找不到如何textview从一个改变片段Activity.我有4个文件:

MainActivity.java
activity_main.xml
FragmentClass.java
frag_class.xml
Run Code Online (Sandbox Code Playgroud)

frag_class.xml有textView,我想从MainActivity.java更改文本.FragmentClass扩展了Fragment,这个片段显示在MainActivity FragmentClass中:

public void changeText(String text){
 TextView t = (TextView) this.getView().findViewById(R.id.tView);
 t.setText(text);
}
Run Code Online (Sandbox Code Playgroud)

在MainActivity中我尝试了这个:

FragmentClass fc = new FragmentClass();
fc.changeText("some text");
Run Code Online (Sandbox Code Playgroud)

但遗憾的是,这段代码给了我NullPointerException,fc.changeText("some text"); 我也尝试直接从MainActivity更改文本:

 TextView t = (TextView) this.getView().findViewById(R.id.tView);
 t.setText(text);
Run Code Online (Sandbox Code Playgroud)

哪个失败了.

[编辑] 完整的代码在这里

android textview android-fragments

29
推荐指数
3
解决办法
6万
查看次数

将C编译的静态库链接到C++程序

我试图将一个静态库(用gcc编译)链接到一个c ++程序,我得到了'未定义的引用'.我在ubuntu 12.04服务器机器上使用了gcc和g ++版本4.6.3.例如,以下是factorial方法的简单库文件:

mylib.h

#ifndef __MYLIB_H_
#define __MYLIB_H_

int factorial(int n);

#endif
Run Code Online (Sandbox Code Playgroud)

mylib.c

#include "mylib.h"

int factorial(int n)
{
    return ((n>=1)?(n*factorial(n-1)):1);
}
Run Code Online (Sandbox Code Playgroud)

我使用gcc为这个mylib.c创建了对象:

gcc -o mylib.o -c mylib.c
Run Code Online (Sandbox Code Playgroud)

同样,静态库是使用AR实用程序从目标文件创建的:

ar -cvq libfact.a mylib.o
Run Code Online (Sandbox Code Playgroud)

我用C程序(test.c)和C++程序(test.cpp)测试了这个库

C和C++程序都有相同的主体:

#include "mylib.h"
int main()
{
    int fact = factorial(5);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

假设在/ home/test目录中有静态库libfact.a,我编译了我的C程序没有任何问题:

gcc test.c -L/home/test -lfact
Run Code Online (Sandbox Code Playgroud)

但是在测试C++程序时,它引发了一个链接错误:

g++ test.cpp -L/home/test -lfact

test.cpp:(.text+0x2f): undefined reference to `factorial(int)'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

我甚至尝试在test.cpp中添加extern命令:

extern int factorial(int n) //added just before the main …
Run Code Online (Sandbox Code Playgroud)

c c++ linux gcc g++

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

使用超级用户构建Android

有没有人知道如何在从源代码(AOSP)构建android时包含超级用户权限?

android root android-source

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

如何在编译之前在Android.mk中运行自定义规则?

在Android NDK中,我构建了由SWIG自动生成的JNI文件.callmanager_wrap.cpp是共享库的一部分:

LOCAL_SRC_FILES += callmanager_wrap.cpp
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

但是我想callmanager_wrap.cpp在编译之前添加/编辑.更明确一点:

cat jnistuff.txt >> callmanager_wrap.cpp
Run Code Online (Sandbox Code Playgroud)

我需要添加的内容事先知道,但callmanager_wrap.cpp不是.它由SWIG生成.最终,我的自定义规则必须运行以下命令来生成callmanager_wrap.cpp:

swig -c++ -java -package com.package.my -o callmanager_wrap.cpp callmanager.i
Run Code Online (Sandbox Code Playgroud)

根据这篇文章,无法添加自定义规则Android.mk.但在Android资源中,我相信Android.mk在BUILT或INSTALLED之后会有一些处理步骤.我尝试了以下方法:

MY_JNI_WRAP=callmanager_wrap.cpp

include $(CLEAR_VARS)

LOCAL_SRC_FILES += callmanager_wrap.cpp

LOCAL_INTERMEDIATE_TARGETS += myjni
myjni:
    echo "in myjni target"
    swig -c++ -java -package com.package.my -o $(MY_JNI_WRAP) callmanager.i
    cat jnistuff.txt >> $(MY_JNI_WRAP)

include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

myjni目标从未被调用过.

  1. 什么是LOCAL_INTERMEDIATE_TARGETS用于?
  2. 如果不编写外部脚本或makefile,我可以实现我想做的事吗?

android makefile android-ndk

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

嵌入式Linux - 引导阶段

我想系统化我的U-Boot/linux知识.在每个嵌入式平台中是否需要至少2个引导加载程序阶段?或者后续流程可以变化吗?

  1. 第一阶段引导加载程序(可以是U-Boot)存储在处理器的ROM内部,无法更新.它将从内部缓存内存运行.此U-Boot需要(至少):初始化RAM,初始化外部闪存,初始化串行控制台,读取和运行第二阶段引导加载程序.

  2. 第二阶段引导加载程序(可以是U-Boot)存储在RW闪存中.它将处理以太网,闪存RW功能等.可以自定义和覆盖此U-Boot.主要任务是将Linux内核加载到RAM中并运行它.

  3. linux内核启动.

第一阶段引导加载程序是否始终为只读?

linux embedded embedded-linux u-boot

11
推荐指数
2
解决办法
5934
查看次数

无法使用静态TLS加载任何其他对象

我有一个dlopen()用于加载其他模块的应用程序.应用程序和模块使用gcc 4.6构建在Ubuntu 12.04 x86_64上,但是用于i386 arch.然后将二进制文件复制到具有完全相同操作系统的另一台计算机并正常工作.

但是,如果将它们复制到Ubuntu 12.04 i386,则某些(但不是全部)模块无法加载以下消息:

dlopen: cannot load any more object with static TLS
Run Code Online (Sandbox Code Playgroud)

我怀疑这是由__thread变量的使用引起的.但是,这些变量不会在加载的模块中使用 - 仅在加载器模块本身中使用.

有人可以提供任何其他信息,可能是什么原因?

我正在减少__thread变量的数量并优化它们(-ftls-model等等),我只是好奇为什么它不能在几乎相同的系统上工作.

c++ linux ubuntu gcc dlopen

11
推荐指数
1
解决办法
9796
查看次数

令人困惑的.gitignore语法

我正在阅读http://www.kernel.org/pub/software/scm/git/docs/v1.7.10/gitignore.html,用于解释忽略模式的6个点似乎描述了一个自定义的glob变体搜索语法.我更熟悉Mercurial,它允许显式忽略通过glob或正则表达式模式,没有问题.

  • Git中有类似的功能吗?
  • 有人能指出我比Git手册页更详尽的参考吗?

最好的,
t

git mercurial gitignore

8
推荐指数
1
解决办法
9988
查看次数