おそらく golang を暫く使っておられる方であればご存じだと思いますが今日は crypto/ssh を紹介します。 Windows で ssh と聞くとどうしても msys やら cygwin やら入れないといけなくて ランタイムを入れるのが嫌だ 特殊なパス形式とか嫌だ そもそも業務で使いづらい といった個人的もしくは政治的な事柄が起きてなかなか実現しづらかったりします。でも golang なら msys や cygwin に頼らず ssh コマンドを、しかもライブラリとして扱う事が出来るので golang で作ったウェブサーバやバッチから UNIX ホストに対して ssh コマンドを送る事が出来るのです。 ssh - GoDoc package ssh import "golang.org/x/crypto/ssh" Package ssh implements an SSH cli
以前から c-archive は作れたけど DLL にするとシンボルが被ったりして上手く DLL が作れなかった。 Big Sky :: golang の Windows 版が buildmode=c-archive をサポートした。 だいぶ時間が掛かった様ですが、ようやく buildmode=c-archive が Windows でも使える様になりました。 cmd/go: -buildmode=c-archive should ... http://mattn.kaoriya.net/software/lang/go/20160405114638.htm cmd/go: -buildmode=c-shared should work on windows · Issue #11058 · golang/go · GitHub https://github.com/golang/go/i
go get github.com/akavel/rsrc cd %GOPATH%/src/github.com/akavel/rsrc go build copy rsrc.exe %HOME%\bin\. cd (自分のソースディレクトリ) rsrc -ico nyagos.ico -o nyagos.syso 作成された「nyagos.syso」は、組み込まれる go ソースのあるのと同じフォルダに置いておけば「go build」で自動的に組み込まれるとある。 注意すべきこと go build だと組み込まれるが、go build nyagos.go など、具体的なソース名を引数に指定してしまうとアウトらしい。 余談 アイコンは DotWorkというツールで作りました。
win32.go � Q�U @Q �U package main import ( "log" "syscall" "unsafe" ) var ( kernel32 = syscall.NewLazyDLL("kernel32.dll") pGetModuleHandleW = kernel32.NewProc("GetModuleHandleW") ) func getModuleHandle() (syscall.Handle, error) { ret, _, err := pGetModuleHandleW.Call(uintptr(0)) if ret == 0 { return 0, err } return syscall.Handle(ret), nil } var ( user32 = syscall.NewLazyDLL("user32.dll") pCreateW
だいぶ時間が掛かった様ですが、ようやく buildmode=c-archive が Windows でも使える様になりました。 cmd/go: -buildmode=c-archive should work on windows · Issue #13494 · golang/go · GitHub 32-bit is also important to me. I'd like to help. I'm seeing those same link errors when I enable it... https://github.com/golang/go/issues/13494 まだ buildmode=c-shared (いわゆる dll) はビルド出来ないけど、ひとまずC言語から golang のライブラリをリンクして動かせる様になりました。例えばこんな事が出来ます。 pac
トピック 前回は、rsrc.exe というツールで .syso というファイルを作れば Ok であった。 が、MinGW についてくる windres.exe があれば、別に rsrc.exe が無くてもよかった 手順 nyagos.ico というアイコンがある場合は、次のようなテキストファイルを用意する
NYAGOS とは Go 言語で 作成中 の Windows向けの Unicode 対応 UNIX風コマンドラインシェルです。知る人ぞ知る、NYAOS シリーズのバージョン「4」に相当します(今年でなんと18年目となります) そして、ぼちぼちと、このNYAGOSも「使えなくもないかなー」レベルにまでなってきたので、ここいらで宣伝記事を書かせていただきます。 ちなみに「1」は OS/2 向け、「2」は DOS・Windows・OS/2向け、「3」は「2」をベースに Windows+OS/2 向けに絞って、Lua による拡張機能を付けたもの。だが、基本的に Double Byte Charactor System が大前提だったため、Unicodeに対応するには「また」スクラッチから作り直す必要があった ソース:https://github.com/zetamatta/nyagos バイナリ:
Go言語でGUIしたいかー?! おー!! とまあ、そんなノリで始まります。 Go言語でGUIするには? Go言語でGUIするライブラリは意外と色々あります。 go-ui 「Go言語 GUI」でググった時に、おそらく一番情報の多いライブラリ。ただ情報はあるけど大して気合の入ったライブラリではない模様。 go-uiなんて大層な名前をしてるけど、その実態はQtバインディングだったりする。 開発はもう終わったみたいで、 GoQt というのが後継らしいけど、 GoQt の方はまだリポジトリを作っただけのような状態だった。 Windowsで導入するのがほぼ無理ゲー。(最重要事案) go-gtk mattn氏が開発の中心となっているGo言語のGtk+バインディング。多分Go言語のGUIライブラリで一番開発が活発。 Windowsでも動くらしいけれど、Win64な環境ではしったこっちゃないし、そもそもGt
Twitterで「Go言語で、いわゆるプラグインの動的ロードってできる?」という発言を見かけたので。 CGOが書けるのでなんでも出来ます。Linux であれば goffi を使えばほぼ何でも出来ます。 cookieo9/goffi - GitHub Go FFI (and dlopen) packages to wrap C libraries. This code is not being actively d... https://github.com/cookieo9/goffi Windows であれば CGO を使わずとも、もともと Windows API には LoadLibrary、GetProcAddress という物が用意されており、Go言語にもその wrapper が提供されています。 package main import ( "log" "syscall" "uns
「Go言語?もうピーク過ぎたよね?」とか言ってる人達こんばんわ。 Go言語、終わってません。いまdev-listではすごい量のメールが飛び交っていて、毎日かなりの量の議論が行われています。 僕としては、ようやく始まったと言えます。もうすぐWindowsでcgoも実行出来る様になります。現在dev-listには既にパッチが投稿されていて、レビュー中です。そろそろ出るんじゃないかと思います。 ただし現状cgoが無いWindowsでもダイナミックローディングが出来ない訳ではありません。syscall.LoadLibraryとsyscall.GetProcAddressを使ってライブラリ関数を取得し、syscall.Syscallで呼び出す事も出来ます。cgo待ってられない!って人でも今すぐDLLを呼び出す拡張モジュールが書けるのです。 今日はその方法を使って、GoからCOM(Component
WindowsでGo言語をやってみよう 「32bitのWindowsOS上でGo言語プログラミングしてみた」のまとめ 最新バージョン バイナリダウンロードはこちらから →現在対応中のバグおよび要望一覧はこちら Windows版テスト環境がMINGW32からWIN32へ移行した関係?でリリースが遅れています。 Go言語って何? 2009年11月10日(米国時間)に発表された、Google社のオープンソース言語です。 Windowsプラットホームへの対応は2010年4月から始まりました。 その特徴は? シンプル 早い 簡単 おもしろい をコンセプトに作られています Windows環境での注意点 Go言語では文字コードが常にUTF-8として扱われます。 ですので、ソースコードをはじめ、実行結果を表示するコンソールやWEBページも全てUTF-8の文字コードを意識して開発する必要があります。 Win
mingw + msys + gnuwin32 + go で開発環境を構築したい やること mingwをインストール msysをインストール GetGnuWin32でいろんなパッケージを一括インストール コンパイル時に/bin/edを直接呼び出してくるみたいなので、ed.exeだけ/bin/にコピーしておく。 コンパイル前の準備(msysで作業) $HOME/.bashrcを編集 export GOROOT=$HOME/hectorchu-go-windows export GOARCH=386 export GOOS=mingw export GOBIN=$HOME/bin export PATH=$HOME/bin:$PATH 必要なディレクトリを作成 $ madir ~/bin ソースを取ってくる $ cd $ hg clone https://hectorchu-go-window
2日ほど前から、ダウンロード可能となっているgo-windows(こちら)。 golangしている人々とwindowsな人々とは接点が少ないのか、いまだにエントリーがないようなので、一応MSDNユーザーだったりする自分がエントリーしておく(といっても、いささか手抜きなので、ちゃんとした追加エントリーを期待しつつ)。 注意 以下、windows-vistaでの例 コマンドライン(cmd.exe)でMSゴシックなどが使えるようにしておく (たとえば、このあたりを参考にさせていただきつつ)。 ※レジストリをいじり、再起動する必要がある こちらから、go-1.zipをダウンロードし解凍先を決めて、解凍。 解凍先にコマンドラインのショートカットを作る。 「3」で作成したショートカットを右クリックし、起動時の文字コードをutf-8とする。具体的には、リンク先を「%SystemRoot%\syste
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く