Iwao Dev

気付いたことをメモしています.

この画面は、簡易表示です

Mac

g++ DrawLog.cpp

今まで xcode を利用していたが,他の PC からビルドするために…


コードは次の様なもの.ほとんどの動作はi_DrawLG.hxx 内に.
 // カレントのファイルを成型してファイルに出力
 #include “i_DrawLg.hxx”
 #include <iostream>
 int _tmain (int argc,TCHAR* argv[])
 {
   _tsetlocale(LC_ALL,_T(“”)) ;
   {
    std::tout << ::GetCWD() << std::endl ;
    }
   tstring logPath = _T("./") ;
   #ifdef _WIN32
     logPath = ::Get_i_Tools_tmp() ;
   #endif
   ::PL_DrawLog(logPath) ;
   return 0 ;
   }
 //———————–
 #include "MessBar.cxx"


次の様に -I で指定すれば,include が機能するのは知っていたが…
 g++ DrawLog.cpp -I/Users/…/__CPR_ -I/Users/…/__Iwao
環境変数を利用する様に
 export CPATH=/Users/…/__CPR_
 export CPATH=/Users/…/__Iwao:$CPATH
これらをスクリプトファイルに登録.
 呼出し元にも反映させるには bash env.sh ではなく
  source env.sh とする必要があるらしい.
sh ファイルを MIFES で編集していて,微妙にうまく動作していない.
 原因は改行コードで,「LF」で保存.
これで g++ DrawLog.cpp としてビルドできる様になった.


実行すると,Segmentation fault: 11.
xcode でもテストしてなかったのでデバッグすると,
 readdir で EXC_BAD_ACCESS .
ここは _WIN32 では通らないのでデバッグが不十分な部分.
 原因は,与えているファイルが
  ディレクトリでなかった.
  ファイルが存在していなかったこと.
コードを修正して OK .



  にほんブログ村 IT技術ブログへ


Web + exe

最終的に目指したい所は,

参考にさせてもらったのは,
第3回 極めてシンプルなCGIを体験する.


C:\...\Iwao>"C:\...\testCGI2\DmpSVG.exe"
Content-Type: text/html
 
<?xml version="1.0" encoding="UTF-8"?>
<svg  xmlns="http://www.w3.org/2000/svg"  >
    <rect x="15" y="10" width="70" height="40" stroke="blue" fill="white" />
    </svg>
 
C:\...\Iwao>

mac で,
先ず,php から ls の呼び出し.
exec_ls.php

 <?php
  system('ls') ;

ターミナルで実行(php exec_ls.php)すると,

php から a.out の呼び出し.
main.cpp

 #include <iostream>
 int main() {
  	std::cout  <<  "hello c++ php"  <<  std::endl ;
  	return 0 ;
  	}

g++ main.cpp としてコンパイル.
exec.php
 <?php
  system('./a.out') ;


ターミナルから php -S 127.0.0.1:8000 などとしておくと,


DS115j で,
php から ls の呼び出しまでは同様.
Iwao@DS115j:~/www/T_php/temp/test$
Iwao@DS115j:~/www/T_php/temp/test$ ls
exec_ls.php index.php main.cpp
Iwao@DS115j:~/www/T_php/temp/test$
Iwao@DS115j:~/www/T_php/temp/test$ php exec_ls.php
exec_ls.php
index.php
main.cpp
Iwao@DS115j:~/www/T_php/temp/test$
Iwao@DS115j:~/www/T_php/temp/test$



  にほんブログ村 IT技術ブログへ


OS X 10.9.2

それ程困っていたわけではないが,Mavericks に上げてから「メール」で変な現象があった.
「日付で並べ替え」,「最も新しいメッセージを最上位」としているのに,
  一部のメールが下の方になる.
  そのリストに対応するメールの内容が合っていない.


OS X のアップデートがあり,その内容で該当しそうな項目がある.



  にほんブログ村 IT技術ブログへ

  • Categories:

Mavericks インストール

OS X Mavericks をインストール.
ダウンロード,再起動後のインストール時間は 44 分?の表示だったが,...
  途中で見ると,2 時間 14 分とか,1 時間 36 分とか,...
  1 分未満の表示になってから,しばらく変化がなかった.5 分位?
前回の Mountain Lion と同様 1 時間程度.
さらに再起動後 15 分程度.


VirtualBox を起動すると,
  仮想マシン”WinXP-Dev”のセッションを開けませんでした。
  Failed to open/create the internal network ‘HostInterfaceNetworking-en1’
   (VERR_SUPDRV_COMPONENT_NOT_FOUND).
  終了コード : NS_ERROR_FAILURE (0x80004005)
  コンポーネント: Console
  インターフェース: IConsole {db7ab4ca-2a3f-4183-9243-c1208da92392}
Mavericks と VirtualBox で検索すると,
  VirtualBox を再インストールすれば良いとのこと.
ダウンロードフォルダにあった,VirtualBox-4.2.18-88780-OSX.dmp のインストールでうまくいった.


vdi をコピーしたいと思い,調べると VBoxManage clonehd が見つかった.
が,ちょっと面倒なのでさらに調べると,Virtual Box マネージャーにクローンがあった.
使ってみると,MAC アドレスがぶつかってしまってる.
ネットワークの設定で「高度」の中に,更新する機能があった.


2013/10/28 追記
OS のアップデート,AP の変更などいろいろあり,どれが原因か突き止められてないが,
ゲストと他の PC との接続などが安定してない.ホストとの接続もできない状態にもなった.
前回と同様に VirtualBox を再インストールすると意図した動作(他の PC が見える)にはなる.
それと,ちょっと別の困った現象.
マウス(Magic Mouse)の動作が安定しない?
ドロップダウンリストなどの時に意図しないものに切替ってしまう.



  にほんブログ村 IT技術ブログへ

  • Categories:

Fedora をインストール

Mac の VirtualBox に Fedora をインストール.
  最初,WIn 7 の VirtualBox に Ubuntu をインストールした.
  インストール直後は動作していたが,そのうち起動時にブルースクリーンとなることがあった.
  以前 Android 環境を入れた時もそうだったので,VirtualBox との相性か?


ホームにできるフォルダが日本語名となるため検索すると,
  ホームディレクトリのフォルダ名を日本語から英語に変更するには


2013/06/26
環境を作成した時点では,うまく Windows Network が見えなかったが,…
  今開いてみたら見える様になっていた.


2013/06/27
デスクトップをカスタマイズしようと,ここを参考に GNOME Shell を有効に,…
  インストール後,再起動して,「GNOME Shell 拡張機能」の場所がわからなかったので,
    「アクティビティ」-「アプリケーションの表示」-「Tweak Tool」.
      「検索ワードを入力…」に “Tool” と入力するか,「アクセサリ」で絞った方がはやいかも.



  にほんブログ村 IT技術ブログへ

  • Categories:

Mountain Lion ダウンロードとインストール

コンテンツコードは先日取得してあったので,ダウンロードを開始してみた.

30 分位だったか?


ダウンロードが終わるとすぐ,インストールの開始画面となり,そこで止めている状態

Install OS X Mountain Lion.app のバックアップを取ろうと思って気が付いたことが,
~.app て,Windows などから見るとフォルダだった?


インストール開始直後,35 分位の表示だったと思うが,結局 1 時間程かかった.


2012/09/02 追記
Xcode 4.3 を利用しようとすると,

4.4 が必要なのか?


4.4 にアップデートして,先週やってた exe がビルド,実行できることは確認した.



  にほんブログ村 IT技術ブログへ


Objective-C

買った本を参考にしながら,NSArray を使用.
NSArray* ary = [NSArray arrayWithObject:[…],[…],…,nil] ;
と入力して,複数の要素を指定しているという様なエラー.
よーく確認すると,本の方は arrayWithObjects と最後に s が付いた複数指定のタイプ.
Xcode が補完してくれるのはいいが,間違って選択してエラーになると,原因を見つけるのがちょっと大変?


他にもタイマの利用で,タイマ処理関数名の直後の ” : ” も抜けていた.
  [NSTimer scheduledTimerWithTimeInterval:0.05 target:self
     selector:@selector(moveLabel:) userInfo:nil repeats:YES ] ;




  にほんブログ村 IT技術ブログへ


Objective-C から C++ の呼び出し

先日作成した MemStat.hxx を「iOS」−「Single View Application」から利用してみた.
ViewController.m の拡張子を mm に変更.
ボタンと UITextView を貼付けて,変数を定義,ボタンの Action を追加.
以下はそれに対して,C++ の呼出しを加えたコード.


//  ViewController.mm
 
#import “ViewController.h”
#include “MemStat.hxx”   // これでいいの?
 
@interface ViewController ()
 
@end
 
@implementation ViewController
@synthesize TextView;
 
– (void)viewDidLoad
{
  [super viewDidLoad];
  {
    MemoryStatus    ms ;
    NSString*    str = [[NSString alloc]initWithFormat:@”%8.2f MB  /  %8.2f MB \n”,
            ms.GetPhysFree()/1024/1024.,ms.GetPhysTotal()/1024/1024. ] ;
    TextView.text = str ;
    }

  }
– (void)viewDidUnload
{
  [self setTextView:nil];
  [super viewDidUnload];
  }
– (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
  return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
  }
– (IBAction)Refresh:(id)sender {
  {
    MemoryStatus    ms ;
    NSString*    str = [[NSString alloc]initWithFormat:@”%8.2f MB  /  %8.2f MB \n”,
            ms.GetPhysFree()/1024/1024.,ms.GetPhysTotal()/1024/1024. ] ;
    TextView.text = [TextView.text    stringByAppendingString:str ] ;
    }

  }
@end
 



  にほんブログ村 IT技術ブログへ


Magic Mouse 追加

「マルチタッチトラックパッド」は良く出来ているが,マウスカーソルの位置を操作するのがなかなか慣れず,Windows で使用している 5 ボタンマウスを USB 接続して凌いでた.
Magic Mouse の存在を知らなかったわけではなく,ちょっと投資が出来なかったのです.

それでやっと,Apple のショップで触って,購入しました.
接続にちょっとかかりましたが,…
(付属のマニュアルを読まないで接続しようとしたので.私みたいな老眼には,ちょっときついです)
接続できると,やっぱいいです.

キーボードはどうしたものか?



  にほんブログ村 IT技術ブログへ

  • Categories:

定義済みマクロ

__GNUC__
__APPLE_CC__
Hello, World!
以下のコードで確認.


#include <iostream>
int main(int argc, const char * argv[])
{
#if defined(__GNUC__)
  printf(“__GNUC__\n”) ;
#endif
#if defined(__APPLE_CPP__)
  printf(“__APPLE_CPP__\n”) ;
#endif
#if defined(__APPLE_CC__)
  printf(“__APPLE_CC__\n”) ;
#endif
#if defined(__MACOS_CLASSIC__)
  printf(“__MACOS_CLASSIC__\n”) ;
#endif
  // insert code here…
  std::cout << “Hello, World!\n”;
  return 0;
  }


???/MacOSX.platform/Developer/SDKs/MaxOSX10.7.sdk/usr/include/TargetConditionals.h より
cpp -dM /dev/null



  にほんブログ村 IT技術ブログへ



    top

    %d人のブロガーが「いいね」をつけました。