小编hug*_*eow的帖子

.so,.la和.a库文件有什么区别?

我知道.so文件是一种动态库(许多线程可以共享这些库,因此不需要在内存中有多个副本).但是.a和之间有什么区别.la?这些都是静态库吗?

如果动态库比静态库有很大的优势,为什么还有很多静态库呢?

我还想知道加载库(两种类型)的基本机制,以及在某个地方使用它时如何调用lib中的一段代码.我应该学习哪一部分内核?我应该知道哪些相关的Linux命令/实用程序才能知道进程是如何运行的?(我现在才知道ld命令)

我什么时候应该尝试构建代码.so.a?哪一个更好?

[mirror@home ins_openvpn]$ ls lib/openvpn/plugins/ -l
total 96
-rw-r--r-- 1 mirror mirror 22892 Sep  2 23:25 openvpn-plugin-auth-pam.a
-rwxr-xr-x 1 mirror mirror   931 Sep  2 23:25 openvpn-plugin-auth-pam.la
-rwxr-xr-x 1 mirror mirror 23621 Sep  2 23:25 openvpn-plugin-auth-pam.so
-rw-r--r-- 1 mirror mirror 17228 Sep  2 23:25 openvpn-plugin-down-root.a
-rwxr-xr-x 1 mirror mirror   932 Sep  2 23:25 openvpn-plugin-down-root.la
-rwxr-xr-x 1 mirror mirror 18805 Sep  2 23:25 openvpn-plugin-down-root.so
Run Code Online (Sandbox Code Playgroud)

linux memory-management shared-libraries ld static-libraries

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

单击选项卡时出现shell init问题,getcwd出了什么问题?

一旦我点击bash上的Tab,就会出现错误信息,出了什么问题?

symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success
symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success
symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success
symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success
symlink-hook: error retrieving current directory: …
Run Code Online (Sandbox Code Playgroud)

linux bash shell pwd getcwd

143
推荐指数
4
解决办法
11万
查看次数

linux shell支持列表数据结构吗?

这个问题与shell支持集不一样吗?

我知道很多脚本语言支持列表结构,比如python,python,ruby和javascript,那么linux shell呢?

shell支持这样的语法吗?

for i in list:
do
     print i
done
Run Code Online (Sandbox Code Playgroud)

我首先要初始化一个列表,例如:

ListName = [ item1, item2, ..., itemn ]
Run Code Online (Sandbox Code Playgroud)

然后迭代它

在编写shell脚本时可能吗?

linux bash shell ash

49
推荐指数
2
解决办法
13万
查看次数

在尝试构建提升时未能更新58个目标,发生了什么?

用命令构建
[mirror@hugemeow boost_1_51_0]$ ./b2 --prefix=$HOME/ins/ins-boost2

并失败了以下消息,为什么?

common.copy stage/lib/libboost_timer.a
common.mkdir bin.v2/libs/wave/build/gcc-4.1.2/release/link-static
common.mkdir bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi
gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/instantiate_cpp_exprgrammar.o
gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/instantiate_cpp_grammar.o
gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/instantiate_cpp_literalgrs.o
gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/instantiate_defined_grammar.o
gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/instantiate_predef_macros.o
gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/instantiate_re2c_lexer.o
gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/instantiate_re2c_lexer_str.o
gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/token_ids.o
gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/wave_config_constant.o
common.mkdir bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/cpplexer
common.mkdir bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/cpplexer/re2clex
gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/cpplexer/re2clex/aq.o
gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/cpplexer/re2clex/cpp_re.o
gcc.archive bin.v2/libs/wave/build/gcc-4.1.2/release/link-static/threading-multi/libboost_wave.a
common.copy stage/lib/libboost_wave.a
...failed updating 58 targets...
...skipped 12 targets...
...updated 887 targets...
[mirror@hugemeow boost_1_51_0]$ echo $?
1
Run Code Online (Sandbox Code Playgroud)

这个问题与构建boost失败或者无法使用GCC构建Boost库不同,我遵循链接 http://www.boost.org/doc/libs/1_51_0/more/getting_started/unix-variants 的说明. HTML

c++ gcc boost build

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

"git init"失败了,怎么了?

此问题与" Bad git config file .git/config "不同,因为它在使用时失败git init.

似乎/home/mirror/.gitconfig没有任何问题:

[mirror@home php]$ git init
error: Malformed value for push.default: simple
error: Must be one of nothing, matching, tracking or current.
fatal: bad config file line 8 in /home/mirror/.gitconfig
Run Code Online (Sandbox Code Playgroud)

这是〜/ .gitignore的内容:

cat ~/.gitconfig
[alias]
        lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
[user]
        email = xxxxxx@gmail.com
        name = xxxxx
[push]
        default = simple
Run Code Online (Sandbox Code Playgroud)

git google-code git-config

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

为什么npm list -g导致npm ERR!遗失错误?

npm使用后返回以下消息 npm list -g

npm ERR! missing: atom-package-manager@*, required by undefined@undefined
npm ERR! missing: opal-npm-wrapper@git://github.com/anthonny/opal-npm-wrapper.git#0.1.1, required by asciidoctor.js@1.5.2
npm ERR! missing: xmlhttprequest@~1.6.0, required by asciidoctor.js@1.5.2
Run Code Online (Sandbox Code Playgroud)

截图:

node.js npm

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

为什么git stash不能放弃刚刚做出的改变?

我从github分叉了一个项目,原点指向我自己的github仓库,远程指向它的原始仓库,因为我想从远程获取更新,

我使用git pull remote branch_name,然后我的本地repo处于冲突模式,现在我想取消git pull的效果,所以我使用git stash,但是很惊讶地发现我没有这样做?怎么了?

详细信息如下:

[mirror@home weechat]$ git status
# On branch master
# Unmerged paths:
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#       both modified:      CMakeLists.txt
#       both modified:      ChangeLog
#       both modified:      NEWS
#       both modified:      configure.in
#       both modified:      po/cs.po
#       both modified:      po/de.po
#       both modified:      po/es.po
#       both modified:      po/fr.po
#       both modified:      po/hu.po
#       both modified:      po/ru.po
#       both modified:      po/weechat.pot
#       deleted by us:      src/irc/irc-server.c
# …
Run Code Online (Sandbox Code Playgroud)

git github git-stash git-pull merge-conflict-resolution

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

为什么git svn无法克隆裸仓库?

此问题与此不同.

git svn clone -s --bare https://ctags.svn.sourceforge.net/svnroot/ctags
Unknown option: bare
Run Code Online (Sandbox Code Playgroud)

怎么了?

我可以使用git svn克隆一个裸仓库吗?

我读过man git-svn,找不到克隆裸仓库的方法.

编辑1

我在git svn repo上的标签:

git branch -r
  origin/master
  tags/Ctags-5_1
  tags/Ctags-5_1_1
  tags/Ctags-5_2
  tags/Ctags-5_2_1
  tags/Ctags-5_2_2
  tags/Ctags-5_2_3
  tags/Ctags-5_3
  tags/Ctags-5_3_1
  tags/Ctags-5_4
  tags/Ctags-5_5
  tags/Ctags-5_5_1
  tags/Ctags-5_5_2
  tags/Ctags-5_5_3
  tags/Ctags-5_5_4
  tags/Ctags-5_6
  tags/ctags-5.7
  tags/ctags-5.8
  tags/test
  trunk
Run Code Online (Sandbox Code Playgroud)

为什么我不能将这些标签推入git存储库?

svn git version-control git-svn

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

为什么git-svn应该积极寻找古老的历史?

当我运行git svn clone -s时发生了一些奇怪的事情,虽然以下信息告诉我们不要惊慌,我想知道为什么这是svn错误?

为什么这条路不存在,是否会被其他人删除?

如果是的话,为什么git svn应该积极搜索旧历史?

Initializing parent: refs/remotes/tags/sequentialInformationalBottleneckClusterer-1.0.1@8400
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: File not found: revision 101, path '/trunk/packages/internal/sequentialInformationalBottleneckClusterer'
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
This may take a while on large repositories
Checked through r1501
Run Code Online (Sandbox Code Playgroud)

svn git git-svn

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

为什么git-svn因信号13而失败?

令人困惑的是,我多次使用git svn克隆svn repo失败了,为什么?

$ git svn clone -s https://192.168.2.145/svn/myprojects/Search/

Following parent with do_switch
Successfully followed parent
r362 = 6be745be496f98f96ac66fccead8211734cf6455 (refs/remotes/tags/8-22)
Found possible branch point: https://192.168.2.145/svn/myprojects/demo/trunk => https://192.168.2.145/svn/myprojects/Search/trunk, 368
Initializing parent: refs/remotes/trunk@368
**error: git-svn died of signal 13**


$ echo $?
141
Run Code Online (Sandbox Code Playgroud)

svn git version-control git-svn

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