2011年05月14日

Visual C++ 2010で生じる、warning C4819を退治する

何らかの理由によりVC++のエディタ画面以外でコードを編集したいと言う事はよく有る。そういった時、いざVC++でコンパイルしようとした時に警告が発生する事がある。

例えば以下のようなコードを何らかのテキストエディタで記述し、UTF-8で保存する。

#include <iostream>
using namespace std;

int main()
{
	cout << "このプログラムには日本語の文字列が含まれています。" << endl;
}

で、これをコンパイルすると、以下のような警告/エラーが発生する事が有る。

test.cpp : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
test.cpp(6) : error C2001: 定数が 2 行目に続いています。
test.cpp(7) : error C2143: 構文エラー : ';' が '}' の前にありません。

しかし、全く同じコードをVC++IDEにて作成した場合はエラーとならない。

何故か。

どうやら、VC++UTF-8なソースコードをコンパイルしようと思ったら、BOMが必要となるらしい。
エラーメッセージの現在のコード ページ (932)という記述から推察するに、BOMが無ければCP932として処理しているのだろう。

IDE上で文字化けする訳でもないのに、不思議な話である。

[VC++ 2010にてファイルの文字コードを変更するには、"ファイル"メニューの"名前を付けて (ファイル名) を保存"から保存し直せば良い。この時、"名前を付けてファイルを保存"ダイアログの"保存"ボタン右の下向き三角形をクリックし、"エンコード付きで保存"を使う必要が有る。

ただ単に警告が出るだけであれば、無視するなり、#pragma warning(disable: 4819)を指定するなりしても良いのだが、恐ろしい事に、他のエラーや警告を同時発生させる事がある。上に挙げたコードが正にその例となっており、文字コード誤判断の結果、error C2001とerror C2143が発生しているのが分かる。
warning C4819が発生している状態で、なおかつ原因の分からないコンパイルエラーが発生しているのであれば、コードの文字コードに注意を払う必要が有るだろう。

謝辞

THX @cpp_akira!!

何らかの理由により
コーディングにはVim使いたいとか。
VC++でコンパイル
VC++付属のclコマンドも含む。
BOM
UTF-8でのそれは、正確には"Byte Order Mark"という訳ではないが。
posted by 天井冴太 at 20:37| Comment(0) | TrackBack(0) | Tool | 更新情報をチェックする

2010年03月15日

Windowsのコマンドライン(cmd.exe)で『何もしない』コマンド

:(コロン記号)で『何もしない』コマンドになる。

bashのそれと一緒だね。もしやと思って試してみてよかった。

Twitterに書いたら「え、それってコメント開始記号じゃないの?」って突っ込まれたが、コメント (コンピュータ) - Wikipediaに拠ると::(コロン2つ)か: (コロンの後に半角の空白)がコメント開始記号らしいので、多分違うのだろう。WindowsXP自身のヘルプには、REMを使ったものしか説明が見つけられなかった。

SAMECOMMAND & :

なんて真似が出来るので、実行後すぐ値が返ってくる事を期待しているプログラムに使ってもエラーにならずに済むという。そう、例えばVimperator:!とか。

ラベル:tips CMD
posted by 天井冴太 at 03:01| Comment(0) | TrackBack(0) | Tool | 更新情報をチェックする

2010年01月28日

doskeyが使えないようで使えるようで、やっぱり使い物にならなかった

Windowsのコマンドラインシェル、cmdにはDOSKEYというユーティリティがある。ファンクションキーや矢印キー等での補完を担当するものだ。
それとは別に、マクロというコマンドの別名が定義出来る機能がある。bash(に限らないが)のaliasみたいなものだ。

前回、cmdでも起動時に実行するバッチファイルを書ける事が解ったので、俄然DOSKEYマクロの使い道が出来た。と言う訳で、次のようなマクロを書いた。


doskey pathpp=PATH $b sed -e "s/^PATH=//" $b sed -e "s/;/\n/g"

PATHは設定したパスを";"で区切って出力するので見にくい。なので、";"の代わりに改行で見やすく出力するようにしたのがこのマクロだ。

さて、このpathppコマンドの出力結果をパイプし、別のコマンドに渡そうとしたが、上手く行かない。

pathpp | SOMECOMMAND

この様にしても、pathppの出力のみ表示され、SOMECOMMANDに渡されない。
気になって調べてみると、リダイレクトも効かない。

pathpp > output.txt

としても、output.txtは作成されず、pathppの結果がコンソールに出力されるのみ。alias万歳。doskeyは微妙。 - 新・日々録 by TRASH BOX@Eelによると、そういう仕様らしい。bash(他、Linuxで使われる各種コマンドラインシェル)のaliasは問題ないというのに……

バッチファイルにすれば問題ないらしいが、たかだかこの程度の単純な内容でファイルを作るというのもねぇ。

cmdはファイル名補完機能も貧弱だし、さっさと他のシェルに移行した方が良いのかもしれない。つかえねぇ……

ラベル:CMD CUI
posted by 天井冴太 at 01:36| Comment(0) | TrackBack(0) | Tool | 更新情報をチェックする

Windowsのcmdで、起動時に必ず実行するバッチファイルを指定する方法

要はbashの.bashrcのような事がしたいな、と。

INASOFTいじくるつくーるの項目をつらつら見てて可能だという事に気付いた。
要はレジストリを弄れという事らしい。わ……分かりづらい……

ユーザー毎の設定と、マシン全体での設定と2種類有り、それぞれ、

ユーザー
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
全体
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor

ここに、AutoRunという名前で実行したいファイルのパスを指定する。
バッチファイルのみかと思ったら、特に制限はないらしい。exeでも出来た。

と言う訳で、喜び勇んで以下の用なバッチファイルを作成し、登録した。doskeyマクロやpromptを設定させておくのに良いね。


@echo off
REM ----
REM  Initialization when cmd.exe is executed (for user env).
REM  Please register passing this file in the registry;
REM	  HKEY_CURRENT_USER\Software\Microsoft\Command Processor\
REM		  AutoRun (REG_SZ)
REM ----

REM *Aliases
doskey cd=cd /d $*
doskey chdir=chdir /d $*
doskey ch=cd /d %HOMEDRIVE%%HOMEPATH%
doskey envpp=if "$1" == "" ( set $b sed -e "s/=/\t/g") else ( set $1 $b sed -e "s/^$1=//i" $b sed -e "s/;/\n/g" )
doskey pathpp=PATH $b sed -e "s/^PATH=//" $b sed -e "s/;/\n/g"
doskey pdate=date /t
doskey ptime=time /t
doskey pushh=pushd %HOMEDRIVE%%HOMEPATH%

REM *Prompt
prompt %USERNAME%@%USERDOMAIN%$S"$P"$S$+$_$G

echo **** LOADED USER CONFIGURES BY %0
ラベル:CMD CUI tips
posted by 天井冴太 at 00:45| Comment(0) | TrackBack(0) | Tool | 更新情報をチェックする

2010年01月17日

twitter4rのTwitter::Userに最新tweet内容のデータが含まれないのでちょっと改造してみた

Rubyは既存のクラスを自由に書き換える事が出来るのでこういう時便利だね。……というお話第2弾。


require 'rubygems'
require 'twitter'

module Twitter
	class User
		@@ATTRIBUTES << :status
		attr_accessor *@@ATTRIBUTES
	
		class << self
			def attributes; @@ATTRIBUTES; end
		end
	end
end

これで、Twitter::Userクラスにstatusというハッシュが追加される。

ね、簡単でしょ?

ラベル:ruby twitter twitter4r
posted by 天井冴太 at 02:49| Comment(0) | TrackBack(0) | Tool | 更新情報をチェックする

twitter4rのTwitter::Client::myが上手く動かなくなってたのでちょっと改造してみた

改造というか、メソッドの追加か。
Rubyは既存のクラスを自由に書き換える事が出来るのでこういう時便利だね。

RubyからTwitterAPIを叩くライブラリ、twitter4r。便利なんだが、TwitterのAPI仕様変更を受け、一部上手く動かなくなっている。

具体的には、statuses/friendsstatuses/follosers。これらは1回の呼び出し辺り100人分のデータしか取得出来ない為、friendsやfollowersの人数によっては、複数回APIを叩かなければならない。

以前はpageパラメータを使い、100人以上のfriendsやfollowersを取得する仕様だった。例えば以下の様に。

http://twitter.com/statuses/friends.xml?page=1
API呼び出し時点での、friendsの1人目~100人目までのデータを取得。pageを省略した場合と同じ。
http://twitter.com/statuses/friends.xml?page=2
API呼び出し時点での、friendsの101人目~200人目までのデータを取得。

この場合、pageに指定すべき値は自明であり、1ずつインクリメントしていけば良いだけだった。

しかし、今はこれが廃止され、cursorというパラメータが導入された。

http://twitter.com/statuses/friends.xml
API呼び出し時点での、friendsの1人目~100人目までのデータを取得。以前のものと同じフォーマットの結果が帰っていると思われる。
http://twitter.com/statuses/friends.xml?cursor=-1
API呼び出し時点での、friendsの1人目~100人目までのデータを取得。cursor未指定時の結果を、更に別の要素でくるみ、次(101人目~200人目)のデータ取得時にcursorに指定すべき値もnext_cursorと言う名で返す。

Twitter APIのWikiを実際に見た方が早いと思う。cursor未指定時と指定時に返ってくるXMLの例が記述されている。

つまり、100人目以降のfriends/followersを取得する場合、旧方式のパース方法では上手く行かない。
それどころか、next_cursorの値を知る必要も出て来たのだ。

……と、ここまでで説明終わり。以下コード。


require 'rubygems'
require 'twitter'

module Twitter
	class Client
		def my2(action, options = {})
			return my(actin, options) if !options.has_key?(:cursor)
			
			raise ArgumentError, "Invalid user action: #{action}" unless @@USER_URIS.keys.member?(action)
			params = options.merge(:id => @login)
			response = http_connect { |conn| create_http_get_request(@@USER_URIS[action], params) }
			
			# get next cursor number
			json = JSON.parse(response.body)
			nextCursor = json['next_cursor']
			json = json['users'].to_json
			
			users = Twitter::User.unmarshal(json)
			
			[bless_models(users), nextCursor]
		end
	end
end

Rubyにはオープンクラスと言って既存クラスを上書きしてしまう機能がある。今回はそれを利用して、twitter4rバージョン0.3.2のTwitter::Clientクラスに新しいメソッドmy2を追加した。
基本的にはmyメソッドと変わらない。:cursor指定時に結果とnext_cursorの値(の配列)を返している点が異なるのみ。

正直、Rubyとか殆ど使った事無い身なので、変な書き方になってるかもしれない。そしてまともにテストしていない(ものぐさ)。
まぁ、恐らく次回のtwitter4rのバージョンアップでcursorに対応されると思うが、それまでの繋ぎとしてどうぞ煮るなり焼くなり。

参考文献

ラベル:ruby twitter twitter4r
posted by 天井冴太 at 02:46| Comment(0) | TrackBack(0) | Tool | 更新情報をチェックする

2009年11月07日

UTF-8な文字列出力をWindowsのコマンドプロンプトで確認する『恐らく一番現実的な』方法

TwitterAPIを叩いて遊んでみた。Twitter APIの返す文字列はUTF-8なので、そのまま標準出力に吐いても、デフォルトの文字コードがcp932(Shift JIS)なWindowsのコマンドプロンプトでは、ものの見事に化けてしまう。一度ファイルにリダイレクトして、それを適当なテキストエディタで開けば読む事は出来るが、少々手間だ。めんどくさい。

じゃあコマンドプロンプトでUTF-8を表示する事は出来ないのかと探してみたら、CHCPコマンドを使えばいいと言う情報が出て来た。例えば、コマンドプロンプトで文字コードがUTF-8のテキストを表示する - KUMA TYPE。ただしこの方法だと、(リンク先の記事でも書かれているが)表示が崩れてしまう。これはよろしくない。

Cygwinの次期バージョンである1.7はUTF-8に対応する予定らしいが、公式ページにThe official 1.7.1 release should go public in late October or early November 2009.なんて書かれてあったら、今更βを導入しようなんて気も消え失せようというものだ。

では他に方法はないのか。やはりリダイレクトとエディタかめんどくさいコマンドプロンプトなんて死んじゃえばいいのに、と悶々としていたら、ふとひらめいた。

nkf使えばいいんじゃないか。

コマンドプロンプトでのUTF-8文字列の表示例(通常に出力した場合)試してみると、この様に化け化けだったのが……

コマンドプロンプトでのUTF-8文字列の表示例(nkfにパイプした場合)化けずに表示された。素晴らしい!

つまり、UTF-8な文字列を返すプログラムSOME_UTF8_OUTPUTが在るとすると……

SOME_UTF8_OUTPUT | nkf -s

……とすればいいことになる。

まぁいちいちパイプ処理書くのは面倒だけど、リダイレクトしてエディタで確認するのに比べたら万倍ぐらいマシだろう。なんなら確認用バッチファイルを用意するなり、DOSKEYでエイリアスを設定するなりすれば良いだろうし。

ラベル:nkf utf-8 Windows CUI CMD
posted by 天井冴太 at 03:24| Comment(0) | TrackBack(0) | Tool | 更新情報をチェックする

2007年02月02日

ちょっ、new-akiba.com!

( ´ー`) . 。o (何時からエンジニア向けのページになったんだろう。)

参照

  1. HotBits: 放射性崩壊から生み出される本物の乱数
  2. The RetroPsychoKinesis Project
  3. John Walker
  4. Parapsychology
  5. 乱数発生器HotBitsの紹介からそれを作り出したJohn Walker氏の利用目的とその結果についてのエントリ。

posted by 天井冴太 at 00:32| Comment(0) | TrackBack(0) | Tool | 更新情報をチェックする

2006年10月27日

Visual C++のソリューションファイルを別バージョンのVisual C++用に変換するソフトを作った

自宅でVisual C++ 2005 Express Edition、我が専門学校でVisual Studio .NET 2003と別バージョンの環境を同時に使っていて両環境用のソリューションファイルを管理するのがめんどかったんで作ってみた。

メインのblogである天井冴太的つれづれblog [天井の染み]このエントリで公開してみた。同じような悩みを持っている方はどうぞ。

てか、内部フォーマットが殆ど同じなら変換無しで読めるようにすればいいのに。ねぇ聞いてるかいMicrosoft!

関連

ラベル:Visual_C++ C C++ WSH VBScript
posted by 天井冴太 at 22:38| Comment(0) | TrackBack(0) | Tool | 更新情報をチェックする

2006年10月13日

TCCを手に入れてみた……けど……

TCC は素晴らしい - TinyCC の現行バージョンと同じ歳になりましたとか等価変換な日々 libtcc で C のソースコードを evalTCCなるCコンパイラを知った。何とそこらのスクリプト系言語によくあるeval処理が出来るという。

eval処理ってのは要するに動的なコード生成で、プログラムの内部に文字列としてコードを持っておけば、それを実行できると言うもの。……うーん、説明し難いな。実際にeval処理をサポートしているPerlの例。


# ↓のコードが文字列である点に注意
$code = "print 'eval code\n';";

print "before outside code\n";

# 文字列変数に格納されたPerlコードを実行
eval $code;

print "after outside code\n";

before outside code
eval code
after outside code

これが可能だと、例えばゲームでNPCの移動ルーチンをキャラ毎に別ファイルに記述しておくというのが出来そう。

で、こう云う事がCで出来るという。こりゃぁすげぇや。同様な事が出来るC処理系で`C(tick Cと読むらしい)というのが在るのは知っていたが、言語仕様の拡張ではなく、ライブラリとして実装している点が個人的に良い。

さて、早速試してblogに書こう!……と思ったのだが……

TCC : Tiny C Compilerから『Windows binary distribution』をダウンロード。適当な場所に展開して、tccにパスを通す。オヤクソクなHello,worldプログラムを組んで、コンパイル→実行し上手く動く事を確認。さぁでは動的コード生成を試してみよう!


#include <stdio.h>
#include <libtcc.h>

int main(void)
{
    char *code = 
        "int main(void) {"
        "    puts(\"eval code.\");"
        "    return 0;"
        "}"

    /* 動的コード生成に関する色々を管理する(多分)な型 */
    TCCState *tcc;

    /* TCCState生成 */
    tcc = tcc_new();
    /* 生成したコードはメモリに展開する */
    tcc_set_output_type(tcc, TCC_OUTPUT_MEMORY);
    /* コードをコンパイル */
    tcc_compile_string(tcc, code);
    
    puts("before outside code.");

    /* 生成したプログラムを実行。戻り値を得る */
    tcc_run(tcc, argc, argv);

    puts("after outside code.");

    /* 最後はTCCStateの後始末 */
    tcc_delete(tcc);

    return 0;
}

これで、前に挙げたPerlと同等の動作の筈。さてコンパイル。


tcc: undefined symbol 'tcc_new'
tcc: undefined symbol 'tcc_set_output_type'
tcc: undefined symbol 'tcc_compile_string'
tcc: undefined symbol 'tcc_run'
tcc: undefined symbol 'tcc_delete'

……エラーが出てコンパイル出来ない。ナンデー(゚Д゚;)

もしかしてMinGWじゃ無きゃ駄目とか?とMinGWMSYSをインストールしたが駄目。libtcc.aに定義があるっぽいのでオプションで明示的に指定してみてもヤッパリ駄目……うーん、どうすりゃ良いんだ?

メモ

  • INCLUDEやLIBと言った環境変数は不要。勿論-Iや-Lオプションはある。
  • 売りの1つであるコンパイル速度の速さは確かに凄い。
  • ソースをconfigureした時に生成されるconfig.hにtccのインストール先ディレクトリがマクロ定義されているのが気になる。PATHで探した方が良くね?
  • #!(TCCのパス) -runって1行目にshebang書いておけばスクリプト風に実行出来る。TCCインストール出来るLinux環境無いんで試せないけど。プロンプトで直接-runつけてソース指定した場合は実行可能ファイルは生成されなかった。エライ。
ラベル:C TCC
posted by 天井冴太 at 23:34| Comment(0) | TrackBack(0) | Tool | 更新情報をチェックする

2006年08月30日

好きなエディタに入力支援機能を付加するソフト

驚いた。こんな事が出来るんだなぁ。

上2つは順に、WSH(VBScript)、HTMLの入力補完ソフト。最後のものは汎用の入力支援/クリップボード支援/簡易ランチャの機能を持つソフトだ。
何が凄いかというと、この3ソフト、何とエディタを選ばない。自分の好みのエディタで使う事が出来るというのだ。

続きを読む
ラベル:WSH HTML CSS VBScript
posted by 天井冴太 at 21:50| Comment(0) | TrackBack(0) | Tool | 更新情報をチェックする

2006年08月07日

新しいMSDNライブラリをインストール……出来ない!?

良い時代になったものだ

既に知られている通り、Microsoft社は最新のIDEであるVisual Studio 2005(の最下位バージョン)を無料配布している。CUIのコンパイラ&リンカではなく、GUIIDEとして。いやぁ、良い時代になったものだ。

更に、Microsoft社は最新ヴァージョンのMSDNライブラリのオフライン版も無料配布を開始している。いやぁ、良い時代になったものだ。

早速インストール……あ、あれ?

続きを読む
ラベル:MSDN
posted by 天井冴太 at 23:22| Comment(2) | TrackBack(1) | Tool | 更新情報をチェックする

2006年06月06日

Firefoxで忍者アクセスカウンターのポップアップ表示がされない場合が在る件

私の運営しているblogでは忍者アクセスカウンターを利用している。1アカウントで複数のカウンタを作成出来るので、複数blogを持っている私としては重宝している。

さて、このカウンタ。カウンタ上にマウスカーソルをのせると、アクセス数の履歴が表示されるのだが、Mozilla Firefoxでは表示されない事がある。大方IE独自拡張使っているんだろう。ったくしょうがねぇ実装しやがって!!と思っていた。

ところが、ある日、Fxで見ているのにきちんとポップアップ表示されるページを発見。……どうなっているんだ!?

続きを読む
posted by 天井冴太 at 00:14| Comment(2) | TrackBack(0) | Tool | 更新情報をチェックする

2006年04月25日

Microsoft、Visual Studio 2005 Express Editionシリーズの無償提供を無期限化

米Microsoftは4月19日(現地時間)、現在期間限定で行われているVisual Studio 2005 Express全製品(Visual Basic、Visual C#、Visual C++、Visual J#、Visual Web Developer)の無償提供を無期限にすると発表した。

ちょ、もうCD-Rに焼いちゃったよ( ´Д`)

CD-Rメディア代返せゴルァヽ(`Д´)ノ






てのは置いといて。

うーん、しかし、こうなったという事は、次ヴァージョンのExpress Editionは無いって事なんだろうか……?ちょっと期待してたのに。マクロ使えるようにならないかな―とか、MFCとかATL最新バージョン付いてこないかなーとか。……期待しすぎですかそうですか。

CD-Rメディア代返せゴルァヽ(`Д´)ノ
……まぁ、1枚分なんでいいんだけどね……
posted by 天井冴太 at 21:37| Comment(0) | TrackBack(0) | Tool | 更新情報をチェックする

2005年12月21日

Visual Studio 2005リリース!!

待ちに待ったMicrosoft社のIDEVisual Studioシリーズの新ヴァージョンである2005が公開された。今回の注目点はなんと言っても最下位のエディション(Express Edition)が無料公開されている点だろう。

以前書いたが、パッケージの市販開始は来年となる。てっきり市販と同タイミングでダウンロード出来るようになるのではないか、と思っていたので、少し以外な気がする。

なんにせよ、3つも前のヴァージョンである6.0をずっと使ってきた私としては久々のバージョンアップとなる。
早速、Visual C++ 2005 Express Edition(以下VCEEと表記)をダウンロード→インストール

各Express EditionはCDのISOイメージで配布されている。前もってDAEMON toolsなどをインストールしておく必要が有る。

更にWindowsプログラムの開発に必要なPlatform SDKをインストール。VCEEでディレクトリの設定をして完成。

Windowsのスタートメニューに現れたVCEEメニュー。VC本体とツール類を含むサブメニューとに分かれているが、ツールのメニューにはコマンドプロンプトしかない。他のツール類は無料版という事で付属していないのだろう。

初めて起動する際は環境を構築中だとのダイアログが表示され、かなり待たされる。

基本的な見た目は前バージョンであるVisual Studio .NET 2003と変わらないようだ。多少動きがモッサリしているような気もするが、恐らく私のPCスペック不足だろう。

一つ前のヴァージョンであるVC .NET 2003のソリューションファイルを開くと、変換ウィザードが立ち上がった。これで以前の.sln、.vcprojをバックアップとして残したままVCEE用のモノに変換出来る。
VC8EE変換ログ 変換後にログの表示も可能。変換時のエラーを見る事が出来る。

変わらないようだ
6.0しか持ってなかった私に何故それが判るかというと、専門学校で使っているのがVisual Studio .NET 2003だから。
スペック不足
因みに私のPCのスペックは、
CPU:Athlon XP 1400+、メモリ:128MB推奨環境と比べるとメモリが全然足らない……orz
……まぁ、6.0と比べているのがそもそも間違いな気もするが。
posted by 天井冴太 at 20:31| Comment(0) | TrackBack(1) | Tool | 更新情報をチェックする

2005年11月18日

Visual Studio 2005正式発表 - 12/15に開発完了

 マイクロソフト株式会社は11月17日、「Microsoft SQL Server 2005」日本語版、「Microsoft Visual Studio 2005」日本語版の開発を12月15日に完了すると発表した。
また、両製品の無償版となる「Express Edition」の提供も12月に行われる。なお、ボリュームライセンスおよびパッケージによる製品発売は、2006年2月より順次行う予定。

う~ん、ちょっと意外。英語版がすでにリリースされていることを考えると11月中かと思っていたが。l10nに時間が掛かっているという事でだろうか?

しかしこうなると、もはや『2005』ではなく『2006』な気がするのは気のせいだろうか?ww

続きを読む
posted by 天井冴太 at 20:41| Comment(0) | TrackBack(1) | Tool | 更新情報をチェックする

2005年11月12日

Visual Studio 2005のExpress Editionは実質無償提供に

Microsoft社のIDEVisual Studioの新ヴァージョン、Visual Studio 2005がもうすぐ発売される。前の前のヴァージョンである6.0しか持っていない天井冴太は虎視眈々と狙っているわけだが……。

 ついにVisual Studio(VS)の一部無償提供が始まった。米Microsoftは2005年11月7日,VSの新版であるVS 2005のうち入門者向けのExpress Editionを1年間限定で無償ダウンロード可能とした。同社のWebサイトから,誰でも(MSDN登録ユーザーに限ることなく)Visual Basic,C#,C++,J#の各Express Editonをダウンロードできる。日本法人のマイクロソフトによると,日本語版についても同様の扱いになる予定である。




な、なんだっt(ry

これは素晴らしい。只で最新のVSが手に入る、と。もっとも、"Expless Edition"は初心者向けの学習用との事だが。どうせならWindowsに標準添付してプログラマ人口が増えるようにして欲しいような気もする。

“ソフトウェアを通じて学生の可能性を拡大”

最新のソフトウェアをより身近に提供
ITやプログラミングに興味のある学生が最新の開発ツールを入手しやすくするため、アカデミック向け製品の提供や学生ユーザー限定のキャンペーンを実施。発表されたパッケージおよびキャンペーンは次のとおり。
“「Get!Visual Studio 2005」キャンペーン”:『Visual Studio .NET the Spoke Premium 2003』を購入、登録した学生を対象に『Visual Studio 2005 Professional Edition』を追加費用なしでダウンロード提供。既存ユーザーも対象。
『Visual Studio 2005 Academic Edition』:学生および教職員向けのパッケージで、内容は『Visual Studio 2005 Standard Edition』に相当。パッケージ価格は4800円。

……という記事をascii24で見つけた。学生で、通常の(Expressではない)パッケージを手に入れたいならば、4800円の『Visual Studio .NET the Spoke Premium 2003』を購入してキャンペーンを利用すればStandard Editionと同じ値段でProfessional Editionを手に入れることが出来そうだ。

Windowsに標準添付して
もちろん、アンインストールできるように。そうしないと例によって独占禁止法違反になったりして……ww
posted by 天井冴太 at 22:44| Comment(0) | TrackBack(1) | Tool | 更新情報をチェックする

2005年11月03日

VC++7.xのソリューションをVC++6.0で使いたい

天井冴太が通う専門学校で使われている開発環境はMicrosoft社のVisual Studio .NET 2003である。まぁ、C/C++環境としてしか使っていないのだが。

しかし、困った事に自宅で使っている環境はVisual C++ 6.0。学校で使っているヴァージョンの2つも前の物である。

製品名の末尾に".NET"が付くようになって仕様がガラッと変わってしまった。勿論、各開発ファイルを纏めるファイルの仕様も変わってしまった事になる。そもそも呼び名まで変わっているのだから相当なものだ。これは非常に困った

いろいろ調べてみると、世の中にはスゴイ人も居るもので、VC++ 7.xの物をVC++6.0用の物に変換するというツールを発見した。

prjconverterというツールである。7.xのソリューションファイル(拡張子がsln)を渡して実行すると、それと同じ場所に同等の内容の6.0用ワークスペース(拡張子がdsw)を生成してくれる、という物。CUIアプリなので、普通に使おうとするとコマンドプロンプトを扱える必要が有るが、デスクトップ辺りにショートカットを配置しておいてソリューションファイルをDnDするようにすると便利だ。

CodeProjectというサイトから落とす事が出来る。……見ての通り、英語のサイトである。しかもユーザ登録が必要ときた。英語読むのは大変だが、そこら辺は努力と根性とカンで乗り切ってしまおう。

2つも前
もっとも、最新のVisual C++である".NET 2003"のヴァージョン番号は7.1なので、メジャーバージョン的には1つ前と云う事になる……って、何の解決にもならないじゃないか(^^;
これは非常に困った
学校と同じVisual Studio .NET 2003買えばいいじゃん、とか言わないように。学生サンは金が無いのである。
posted by 天井冴太 at 21:46| Comment(2) | TrackBack(0) | Tool | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。