小编Sum*_*Tea的帖子

如何在linux中编译静态库?

我有一个问题:如何使用gcc在linux中编译静态库,即我需要将我的源代码编译成名为out.a的文件.用命令简单编译就足够了gcc -o out.a out.c吗?我对gcc不是很熟悉,希望有人能帮帮我.

gcc static-libraries

127
推荐指数
3
解决办法
15万
查看次数

什么是注册%eiz?

在我使用以下转出的汇编代码中objdump:

lea    0x0(%esi,%eiz,1),%esi
Run Code Online (Sandbox Code Playgroud)

什么是注册%eiz?前面的代码是什么意思?

x86 assembly gnu-assembler objdump

52
推荐指数
3
解决办法
7933
查看次数

如何在ARM中使用MOV指令,并使用立即数作为第二个操作数

我刚开始研究ARM汇编语言,并不清楚如何使用MOV将立即数转移到寄存器中.

从ARM参考手册和我的教科书中可以看出,MOV指令后的立即数范围是0-255.但是,当我在ADS 1.2 IDE中使用我自己的PC进行测试时,指令

MOV     R2, #0xFFFFFFFF
Run Code Online (Sandbox Code Playgroud)

表现很好.根据规格,数字0xFFFFFFFF不在范围之外吗?

希望有人能帮我一臂之力.

问候.

assembly arm

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

C++中虚函数的行为

我有一个问题,这里有两个类:

  class Base{
      public:
          virtual void toString();       // generic implementation
  }

  class Derive : public Base{
      public:
          ( virtual ) void toString();   // specific implementation
  }
Run Code Online (Sandbox Code Playgroud)

问题是:

  • 如果我想要使用类型为Base的指针执行多态性的类Derive的子类,那么括号中的关键字virtual是否必要?

  • 如果答案是否定的,那么带有和不带虚拟的类派生的成员函数toString有什么区别?

c++ virtual-functions

10
推荐指数
3
解决办法
1056
查看次数

如何在Windows中使用正则表达式匹配行尾?

我在Windows中创建了一个.txt文件,现在应该在Linux中编辑.我想用grep匹配一行的结尾,让我说我要找的行的内容是文件中的"foo bar" bar.然后我发出命令grep 'r$' bar,没有产生输出.

在Windows中给出一个新行包含'\ r \n',不同于Linux/Unix单个'\n',我认为必须有一些微妙的相关内容.然后我转换文件dos2unix和瞧,它的工作原理.

我的问题是如何在不转换原始文件的情况下匹配内容?

任何建议将受到高度赞赏.

谢谢和最诚挚的问候.

regex linux grep newline

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

覆盖派生类中的成员字段

我有一个代码片段如下:

#include <iostream>

using namespace std;

class Base {
public:
    Base() : b(0) {}
    int get();
    virtual void sayhello() { cout << "Hello from Base with b: " << b << endl; }
private:
    int b;
};

int Base::get() {sayhello(); return b;} 

class Derived : public Base {
public:
    Derived(double b_):b(b_){}
    void sayhello() { cout << "Hello from Derived with b: " << b << endl; }
private:
    double b;
};

int main() {
    Derived d(10.0);
    Base b = d; …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

如何在C中执行旋转移位

我有一个问题如下所述:如何在没有嵌入式装配的情况下在C中执行旋转移位.更具体一点,如何旋转32位移位int.

我现在在类型的帮助下解决这个问题long long int,但我觉得它有点难看,想知道是否有更优雅的方法.

亲切的问候.

c assembly

9
推荐指数
1
解决办法
8341
查看次数

C语言中typedef的语法和语法

我在C语言中遇到了typedef关键字的问题.

在我的程序中,我使用以下代码:

typedef int* a[10];

int main(){
 int a[10];
} 
Run Code Online (Sandbox Code Playgroud)

他们运作良好.但是为什么变量和共享相同名称的类型之间没有冲突?

问候.

c typedef

8
推荐指数
2
解决办法
984
查看次数

什么时候应该用汇编语言设置进位标志

在C中编写ARM汇编模拟器时,我对此问题感到困惑.我在论坛中发现了一些类似的问题,但没有一个解释如何使用两个操作数和结果之间的关系来设置进位标志.

任何回复表示赞赏.提前致谢.

看待.

c assembly arm

8
推荐指数
2
解决办法
7373
查看次数

如何在java中同步静态方法

在Java中实现单例模式时,我想出了这个问题.即使下面列出的示例不是我的真实代码,但与原始代码非常相似.

public class ConnectionFactory{
    private static ConnectionFactory instance;

    public static synchronized ConnectionFactory getInstance(){
        if( instance == null ){
            instance = new ConnectionFactory();
        }

        return instance;
    }

    private ConnectionFactory(){
        // private constructor implementation
    }
}
Run Code Online (Sandbox Code Playgroud)

因为我不太确定静态同步方法的行为,所以我从谷歌得到了一些建议 - 在同一个类中没有(或尽可能少)多个静态同步方法.我想在实现静态同步方法时,会使用属于Class对象的锁,这样多个静态同步方法可能会降低系统的性能.

我对吗?或者JVM使用其他机制来实现静态同步方法?如果我必须在类中实现多个静态同步方法,那么最佳实践是什么?

谢谢你们!

亲切的问候!

java concurrency static multithreading synchronized

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