小编Ank*_*rVj的帖子

IntelliJ IDEA中跳转到上一个视图位置(向后/向前导航)的键盘快捷键

我知道Ctrl+ Shift+ Backspace用于转到上次编辑的位置.

但是我想跳到最近的位置,不一定是我编辑任何东西的位置.

例如,如果我使用Ctrl+ 跳转到声明B,那么我想在跳跃之前回到原来的位置.

keyboard-shortcuts intellij-idea

310
推荐指数
11
解决办法
12万
查看次数

百分号在makefile中的作用是什么?

我有一个看起来像这样的makefile:

include $(patsubst %,$(src)/%/Make.tests, $(TEST_SUBDIRS))

%-test: 
       Something here
Run Code Online (Sandbox Code Playgroud)

我理解它在目标规则行中的用途.%第一行的标志是什么?在目标规则行中有百分号签名吗?

当我写的时候make sometarget,makefile中的行是不是作为任何规则的一部分写的(就像这个makefile中的第一行一样)执行了吗?如果是,那么执行的顺序是什么?

makefile

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

可以通过C中的函数指针调用静态函数吗?

我认为源文件中的静态函数不能直接从文件外部调用.但是,如果我以某种方式设法将指向此函数的指针转换为另一个文件,那么我可以从该文件中调用此函数.如果是的话,是否有任何情况我们想要采用这种方式而不是简单地使函数非静态?

c static function-pointers

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

如何在C中编写自修改代码?

我想编写一段不断变化的代码,即使变化微不足道.

例如,可能是类似的东西

for i in 1 to  100, do 
begin
   x := 200
   for j in 200 downto 1, do
    begin
       do something
    end
end

假设我希望我的代码在第一次迭代后应该将行更改为x := 200其他行x := 199,然后在下一次迭代后将其更改为x := 198依此类推.

写这样的代码可能吗?我需要使用内联汇编吗?

编辑:这就是我想用C做的原因:

该程序将在实验操作系统上运行,我不能/不知道如何使用从其他语言编译的程序.我需要这样一个代码的真正原因是因为这个代码是在虚拟机上的客户操作系统上运行的.管理程序是一个翻译代码块的二进制翻译器.翻译做了一些优化.它只翻译一次代码块.下次在guest中使用相同的块时,翻译器将使用先前翻译的结果.现在,如果代码被动态修改,那么翻译人员会注意到这一点,并将其先前的翻译标记为陈旧.因此迫使重新翻译相同的代码.这就是我想要实现的目标,迫使翻译人员进行多次翻译.通常,这些块是分支指令(例如跳转指令)之间的指令.我只是认为自修改代码将是实现这一目标的绝佳方式.

c self-modifying

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

有没有一种快速解锁Emacs中的键的方法?

我做了一个ctrl h b在emacs中查看我的所有绑定.现在我想取消绑定很多键,因为我从不使用Emacs的那些功能,当我意外按下绑定键时我不想执行它们!这也为其他任务释放了许多密钥(例如,与Cedet一起使用).因此除了global-unset-key之外,还有什么方法可以批量删除绑定吗?

C-a     move-beginning-of-line
C-b     backward-char
C-c     mode-specific-command-prefix
C-d     delete-char
C-e     move-end-of-line
C-f     forward-char
C-g     keyboard-quit
C-h     help-command
C-k     kill-line
C-l     recenter-top-bottom
C-n     next-line
C-o     open-line
C-p     previous-line
C-q     quoted-insert
C-t     transpose-chars
C-u     universal-argument
C-v     scroll-up
C-x     Control-X-prefix
C-z     suspend-frame
ESC     ESC-prefix

我想删除大部分对我来说绝对没用的绑定.

emacs

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

制作远程git存储库的本地副本

我对版本控制的术语或实践和程序不是很熟悉.

这是我想要做的:

  1. 我想从Internet下载git存储库中的文件夹.克隆是正确的方法吗?不会克隆保留不必要的元数据文件?有没有办法做一个"干净"的下载?

  2. 我想设置一个本地存储库,其中包含我现在可以使用版本控制的文件夹.也就是说,当我进行提交时,我的本地存储库会更新.

  3. 最后,我希望可以在本地网络上访问本地存储库,以便我也可以从LAN上的任何其他计算机上下载它.

git version-control

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

如何在没有rand()函数的情况下生成随机数?

我想生成0和某个整数之间的(伪)随机数.我不介意他们是不是太随意.我可以访问当天的当前时间,但不能访问rand功能.任何人都可以想到一种足够强大的方法来生成这些吗?也许,从一天中的某个时间丢弃一些比特并取模数我的整数或其他东西?

我正在使用c.

c random

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

从56位二进制字符串创建DES密钥

我有一个56位二进制字符串,我想用它作为DES加密的密钥.

我在JCA docs网站上找到了以下代码

byte[] desKeyData = { (byte)0x01, (byte)0x02, (byte)0x03, 
(byte)0x04, (byte)0x05, (byte)0x06, (byte)0x07, (byte)0x08 };
DESKeySpec desKeySpec = new DESKeySpec(desKeyData);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
Run Code Online (Sandbox Code Playgroud)

但是,它使用8个字节作为密钥(而不是7个).不清楚desKeyData [0]是对应于最低有效字节还是最高有效字节.另外,是否可以直接使用56位字符串来生成可用于此目的的字节数组?

java binary jca

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

套接字的描述符可以转换为文件指针吗?

我以下列方式获得了TCP套接字的描述符:

int desc = accept(socket_descriptor, &client_address, &len)

现在从这个描述符desc我想得到一个文件指针.可以fdopen()在这里使用吗?

我想获取文件指针的原因是因为我正在更改将数据写入本地文件的现有代码.现在,我想扩展其功能,以便它可以替代地写入TCP客户端.我不想重写所有功能,并且想要以某种方式使用现有的基础设施.现有函数使用文件指针写入文件.我想知道是否有可能使相同的函数写入TCP流而不进行任何更改.

c posix tcp

7
推荐指数
1
解决办法
3172
查看次数

基于客户端服务器的多人游戏的最佳更新频率

我正在用c ++制作一个多人游戏:

客户只需从用户那里获取命令,计算其玩家的新位置并将其传达给服务器.服务器接受来自所有客户端的这种位置更新,并且每个客户端都广播相同的位置更新.在这种情况下,哪些参数应该确定连续更新之间的时间间隔(我不想要太多更新,因此阻塞了n/w).我在想,客户端中的最大ping应该是贡献参数之一.

其次,我如何确定客户端的ping /延迟?此论坛上的其他主题建议使用"原始套接字"或使用系统的ping命令并从文件中收集输出.这是否意味着使用类似的东西system('ping "client ip add" > file')或分叉和执行ping命令.

c++ network-programming

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