小编Dee*_*ain的帖子

Windows命令转换Unix行结尾?

是否有Windows命令来转换文件的行结尾?

我们test.bat需要运行以启动我们的服务器.我们使用Perforce,我们需要在工作区中使用unix行结尾.出于某种原因,我们不允许在工作区中将行结尾更改为Windows.但是,服务器在Windows上运行.

每次我必须运行bat文件时,我在Notepad ++中打开它并选择编辑→EOL转换→Windows.有没有办法实现自动化,这样我们每次与Perforce同步时都不需要手动更改行结尾?

提前致谢.

unix windows cmd batch-file eol

65
推荐指数
7
解决办法
11万
查看次数

在shell脚本中更改为root用户

我有一个shell脚本,需要非root用户帐户才能运行某些命令,然后将用户更改为root以运行脚本的其余部分.我正在使用SUSE11.我用expect期望自动化密码提示.但是当我使用spawn su - 并且命令被执行时,提示符将以root身份返回,并且脚本的其余部分不会执行.

例如.

< non-root commands>
 spawn su -
<root commands>
Run Code Online (Sandbox Code Playgroud)

但在su之后 - 提示以root身份返回用户.如何执行剩余的脚本.

sudo -S选项没有帮助,因为它没有运行sudo -S ifconfig命令,我需要找到机器的IP地址.

我已经浏览了这些链接但找不到解决方案: 在shell脚本中将脚本目录更改为用户的homedir

在shell脚本中更改unix用户

shell su

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

从inorder遍历打印所有二叉树

在接受采访时遇到了这个问题.给定遍历二叉树的顺序.从中打印所有可能的二叉树.

初步想法:

如果说我们在数组中只有2个元素.说2,1.然后是两棵可能的树

              2 
               \
                1     
    1
   /
   2  
Run Code Online (Sandbox Code Playgroud)

如果3个元素说,2,1,4.然后我们有5棵树.

 2               1            4           2            4
  \             / \          /             \          /
   1           2   4        1               4        2
    \                      /               /          \
     4                    2               1            1
Run Code Online (Sandbox Code Playgroud)

所以,基本上如果我们有n个元素,那么我们有n-1个分支(childs,/或).我们可以按任何顺序安排这些n-1个分支.对于n = 3,n-1 = 2.因此,我们有2个分支.我们可以通过以下方式安排2个分支:

  /     \         \           /         /\
 /       \        /           \
Run Code Online (Sandbox Code Playgroud)

初步尝试:

struct  node *findTree(int *A,int l,int h)
{
    node *root = NULL;
    if(h < l)
            return NULL;
    for(int i=l;i<h;i++)
    {
            root = newNode(A[i]);
            root->left = findTree(A,l,i-1);
            root->right = findTree(A,i+1,h);
            printTree(root);
            cout<<endl; …
Run Code Online (Sandbox Code Playgroud)

c++ binary-tree

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

rpm在哪里查找依赖项?

我有一个使用rpmbuild构建的rpm.让我们说它是sample.rpm.它成功构建.rpm具有可执行文件(让我们称之为init).

当我尝试使用rpm -ivh sample.rpm它安装它时显示我失败的依赖项.

假设错误是Failed dependency for: example.so指rpm无法找到此共享对象文件.(即使so文件存在于同一目录中).

所以,我安装rpm rpm -ivh sample.rpm --nodeps(因为我知道我有所需的so文件).

为什么rpm无法安装那些rpms呢?它在哪里寻找目标文件?(linux加载器是否会查找这些.so).我有LD_LIBRARY_PATH来包含这些.so的路径,所以当我从rpm运行已安装的文件(init)时,它运行.

那么为什么rpm无法安装sample.rpm(它究竟在哪里寻找依赖项)?是否需要在构建rpm时指定某些内容?

dependencies rpm

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

棒切割的变种

您将获得一根长度为X的木棍,在任意位置(整体)上有m个标记,并且标记表示相应地进行切割的位置.为了将L长度的棍子切成两块,木匠收取L美元(无论这两个长度是否相等都无关紧要,即斩波成本与斩波点的位置无关).设计动态编程算法,计算最小总成本.

无法弄清楚复发.在最近的一次编程采访中被问到这一点.

algorithm dynamic-programming

6
推荐指数
1
解决办法
3922
查看次数

线程安全与重入

我知道这个论坛已经讨论了很多。但有一件事仍然让我感到困惑。维基百科提到每个可重入代码都是线程安全的。 http://en.wikipedia.org/wiki/Reentrant_%28subroutine%29 后来给出了一个可重入但不是线程安全的函数的例子。

int t;

void swap(int *x, int *y)
{
    int s;

    s = t;  // save global variable
    t = *x;
    *x = *y;
    // hardware interrupt might invoke isr() here!
    *y = t;
    t = s;  // restore global variable
}

void isr()
{
    int x = 1, y = 2;
    swap(&x, &y);
}
Run Code Online (Sandbox Code Playgroud)

这让我很困惑。所有重入代码都是线程安全的吗?此外,所有递归函数都是线程安全的。我无法想象差异。

谢谢

multithreading operating-system

5
推荐指数
2
解决办法
1352
查看次数

向Tuple2投射任何东西

我有一个Scala函数,它传递"Any"类型的消息.在大多数情况下,它将是一个大小为2的元组.接收此消息的函数需要查看元组元素的特定类型:

main() {
// call to function
// msg is of type Any.
    func (msg) 
}
Run Code Online (Sandbox Code Playgroud)

现在在我的功能,

function (msg : Any) {
    String inputType = msg.getClass.getCanonicalName
    if (inputType.compareTo("scala.Tuple2") == 0) {
        // I now know that the input to the function is a tuple..I want to extract the type of each element in this tuple.
        //something like:
        var tuple = msg.asInstanceof(scala.Tuple2) // This line gives an error. I want to cast object of Type Any to a tuple.
        var 1type …
Run Code Online (Sandbox Code Playgroud)

casting scala tuples

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

在中断服务程序中,什么都不能用?

我知道ISR需要非常快,并且应该很快处理中断.但我不明白同样的原因.为什么要满足这个条件?而且,为了做到这一点,对ISR代码的所有内容有什么限制吗?通常情况下,所有不应包含在ISR代码中的内容?

谢谢

operating-system interrupt linux-kernel

0
推荐指数
1
解决办法
2012
查看次数